diff --git a/pom.xml b/pom.xml index c0f2cd2..620939d 100644 --- a/pom.xml +++ b/pom.xml @@ -11,9 +11,36 @@ git-commit-id-plugin pom - 2.1.8-SNAPSHOT + 2.1.10 Git Commit Id Plugin Maven Mojo + + git-commit-id-plugin is a plugin quite similar to + https://fisheye.codehaus.org/browse/mojo/tags/buildnumber-maven-plugin-1.0-beta-4 for example but as buildnumber + only supports svn (which is very sad) and cvs (which is even more sad). + This plugin makes basic repository information available through maven resources. This can be used to display + "what version is this?" or "who has deployed this and when, from which branch?" information at runtime - making + it easy to find things like "oh, that isn't deployed yet, I'll test it tomorrow" and making both testers and + developers life easier. + + The data currently exported is like this (that's the end effect from the GitRepositoryState Bean): + { + "branch" : "testing-maven-git-plugin", + "commitTime" : "06.01.1970 @ 16:16:26 CET", + "commitId" : "787e39f61f99110e74deed68ab9093088d64b969", + "commitUserName" : "Konrad Malawski", + "commitUserEmail" : "konrad.malawski@java.pl", + "commitMessageFull" : "releasing my fun plugin :-) + fixed some typos + cleaned up directory structure + added + license etc", + "commitMessageShort" : "releasing my fun plugin :-)", + "buildTime" : "06.01.1970 @ 16:17:53 CET", + "buildUserName" : "Konrad Malawski", + "buildUserEmail" : "konrad.malawski@java.pl" + } + + Note that the data is exported via maven resource filtering and is really easy to use with spring - + which I've explained in detail in this readme https://github.com/ktoso/maven-git-commit-id-plugin + http://www.blog.project13.pl @@ -64,6 +91,12 @@ ${maven-plugin-api.version} + + com.fasterxml.jackson.core + jackson-databind + 2.2.3 + + com.google.inject guice @@ -81,7 +114,7 @@ com.google.guava guava - 13.0 + 15.0 @@ -135,6 +168,13 @@ jar test + + + pl.pragmatists + JUnitParams + 1.0.2 + test + diff --git a/src/main/java/pl/project13/jgit/DescribeCommand.java b/src/main/java/pl/project13/jgit/DescribeCommand.java index cb8ed5f..902d50d 100644 --- a/src/main/java/pl/project13/jgit/DescribeCommand.java +++ b/src/main/java/pl/project13/jgit/DescribeCommand.java @@ -180,7 +180,7 @@ public DescribeCommand always(boolean always) { public DescribeCommand forceLongFormat(@Nullable Boolean forceLongFormat) { if (forceLongFormat != null) { this.forceLongFormat = forceLongFormat; - log("--long = %s", forceLongFormat); + log("--long =", forceLongFormat); } return this; } @@ -312,21 +312,22 @@ public DescribeResult call() throws GitAPIException { // check if dirty boolean dirty = findDirtyState(repo); - if (hasTags(headCommit, tagObjectIdToName)) { + if (hasTags(headCommit, tagObjectIdToName) && !forceLongFormat) { String tagName = tagObjectIdToName.get(headCommit).iterator().next(); - log("The commit we're on is a Tag ([",tagName,"]), returning."); + log("The commit we're on is a Tag ([",tagName,"]) and forceLongFormat == false, returning."); return new DescribeResult(tagName, dirty, dirtyOption); } - if (foundZeroTags(tagObjectIdToName)) { + // get commits, up until the nearest tag + List commits = findCommitsUntilSomeTag(repo, headCommit, tagObjectIdToName); + + // if there is no tags or any tag is not on that branch then return generic describe + if (foundZeroTags(tagObjectIdToName) || commits.isEmpty()) { return new DescribeResult(objectReader, headCommitId, dirty, dirtyOption) .withCommitIdAbbrev(abbrev); } - // get commits, up until the nearest tag - List commits = findCommitsUntilSomeTag(repo, headCommit, tagObjectIdToName); - // check how far away from a tag we are int distance = distanceBetween(repo, headCommit, commits.get(0)); @@ -350,7 +351,7 @@ private DescribeResult createDescribeResult(ObjectReader objectReader, ObjectId .withCommitIdAbbrev(abbrev); } else if (howFarFromWhichTag.first > 0 || forceLongFormat) { - return new DescribeResult(objectReader, howFarFromWhichTag.second, howFarFromWhichTag.first, headCommitId, dirty, dirtyOption) + return new DescribeResult(objectReader, howFarFromWhichTag.second, howFarFromWhichTag.first, headCommitId, dirty, dirtyOption, forceLongFormat) .withCommitIdAbbrev(abbrev); // we're a bit away from a tag } else if (howFarFromWhichTag.first == 0) { @@ -425,7 +426,7 @@ private List findCommitsUntilSomeTag(Repository repo, RevCommit head, } } - throw new RuntimeException("Did not find any commits until some tag"); + return Collections.emptyList(); } catch (Exception e) { throw new RuntimeException("Unable to find commits until some tag", e); } diff --git a/src/main/java/pl/project13/jgit/DescribeResult.java b/src/main/java/pl/project13/jgit/DescribeResult.java index 8817a8d..767235a 100644 --- a/src/main/java/pl/project13/jgit/DescribeResult.java +++ b/src/main/java/pl/project13/jgit/DescribeResult.java @@ -49,6 +49,8 @@ public class DescribeResult { private boolean dirty; private String dirtyMarker; + private boolean forceLongFormat; + private ObjectReader objectReader; public static final DescribeResult EMPTY = new DescribeResult(""); @@ -58,7 +60,7 @@ public DescribeResult(@NotNull String tagName) { } public DescribeResult(@NotNull ObjectReader objectReader, String tagName, int commitsAwayFromTag, @Nullable ObjectId commitId) { - this(objectReader, tagName, commitsAwayFromTag, commitId, false, Optional.absent()); + this(objectReader, tagName, commitsAwayFromTag, commitId, false, Optional.absent(), false); } public DescribeResult(@NotNull ObjectReader objectReader, @NotNull ObjectId commitId) { @@ -69,13 +71,14 @@ public DescribeResult(@NotNull ObjectReader objectReader, @NotNull ObjectId comm } public DescribeResult(@NotNull ObjectReader objectReader, String tagName, int commitsAwayFromTag, ObjectId commitId, boolean dirty, String dirtyMarker) { - this(objectReader, tagName, commitsAwayFromTag, commitId, dirty, Optional.of(dirtyMarker)); + this(objectReader, tagName, commitsAwayFromTag, commitId, dirty, Optional.of(dirtyMarker), false); } - public DescribeResult(@NotNull ObjectReader objectReader, String tagName, int commitsAwayFromTag, ObjectId commitId, boolean dirty, Optional dirtyMarker) { + public DescribeResult(@NotNull ObjectReader objectReader, String tagName, int commitsAwayFromTag, ObjectId commitId, boolean dirty, Optional dirtyMarker, boolean forceLongFormat) { this(objectReader, commitId, dirty, dirtyMarker); this.tagName = Optional.of(tagName); this.commitsAwayFromTag = commitsAwayFromTag; + this.forceLongFormat = forceLongFormat; } public DescribeResult(@NotNull ObjectReader objectReader, @NotNull ObjectId commitId, boolean dirty, @NotNull Optional dirtyMarker) { @@ -145,6 +148,9 @@ private boolean abbrevZeroHidesCommitsPartOfDescribe() { @Nullable public String commitsAwayFromTag() { + if (forceLongFormat) { + return String.valueOf(commitsAwayFromTag); + } return commitsAwayFromTag == 0 ? null : String.valueOf(commitsAwayFromTag); } diff --git a/src/main/java/pl/project13/maven/git/GitCommitIdMojo.java b/src/main/java/pl/project13/maven/git/GitCommitIdMojo.java index 01e51d7..8207ec7 100644 --- a/src/main/java/pl/project13/maven/git/GitCommitIdMojo.java +++ b/src/main/java/pl/project13/maven/git/GitCommitIdMojo.java @@ -17,28 +17,28 @@ package pl.project13.maven.git; +import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; +import com.google.common.collect.Lists; import com.google.common.io.Closeables; import com.google.common.io.Files; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; -import org.eclipse.jgit.api.errors.GitAPIException; -import org.eclipse.jgit.lib.*; -import org.eclipse.jgit.revwalk.RevCommit; -import org.eclipse.jgit.revwalk.RevWalk; -import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import pl.project13.jgit.DescribeCommand; -import pl.project13.jgit.DescribeResult; import pl.project13.maven.git.log.LoggerBridge; import pl.project13.maven.git.log.MavenLoggerBridge; +import pl.project13.maven.git.util.PropertyManager; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; +import java.util.Collections; import java.util.Date; import java.util.List; import java.util.Properties; @@ -61,6 +61,7 @@ public class GitCommitIdMojo extends AbstractMojo { public static final String COMMIT_ID = "commit.id"; public static final String COMMIT_ID_ABBREV = "commit.id.abbrev"; public static final String COMMIT_DESCRIBE = "commit.id.describe"; + public static final String COMMIT_SHORT_DESCRIBE = "commit.id.describe-short"; public static final String BUILD_AUTHOR_NAME = "build.user.name"; public static final String BUILD_AUTHOR_EMAIL = "build.user.email"; public static final String BUILD_TIME = "build.time"; @@ -74,7 +75,7 @@ public class GitCommitIdMojo extends AbstractMojo { /** * The maven project. * - * @parameter expression="${project}" + * @parameter property="project" * @readonly */ @SuppressWarnings("UnusedDeclaration") @@ -83,7 +84,7 @@ public class GitCommitIdMojo extends AbstractMojo { /** * Contains the full list of projects in the reactor. * - * @parameter expression="${reactorProjects}" + * @parameter property="reactorProjects" * @readonly */ @SuppressWarnings("UnusedDeclaration") @@ -115,7 +116,7 @@ public class GitCommitIdMojo extends AbstractMojo { * Specifies whether the execution in pom projects should be skipped. * Override this value to false if you want to force the plugin to run on 'pom' packaged projects. * - * @parameter expression="${git.skipPoms}" default-value="true" + * @parameter parameter="git.skipPoms" default-value="true" */ @SuppressWarnings("UnusedDeclaration") private boolean skipPoms; @@ -185,6 +186,14 @@ public class GitCommitIdMojo extends AbstractMojo { @SuppressWarnings("UnusedDeclaration") private int abbrevLength; + /** + * The format to save properties in. Valid options are "properties" (default) and "json". + * + * @parameter default-value="properties" + */ + @SuppressWarnings("UnusedDeclaration") + private String format; + /** * The prefix to expose the properties on, for example 'git' would allow you to access '${git.branch}' * @@ -192,7 +201,7 @@ public class GitCommitIdMojo extends AbstractMojo { */ @SuppressWarnings("UnusedDeclaration") private String prefix; - private String prefixDot; + private String prefixDot = ""; /** * The date format to be used for any dates exported by this plugin. @@ -227,6 +236,43 @@ public class GitCommitIdMojo extends AbstractMojo { @SuppressWarnings("UnusedDeclaration") private boolean failOnUnableToExtractRepoInfo; + /** + * By default the plugin will use a jgit implementation as a source of a information about the repository. You can + * use a native GIT executable to fetch information about the repository, witch is in most cases faster but requires + * a git executable to be installed in system. + * + * @parameter default-value="false" + * @since 2.1.9 + */ + @SuppressWarnings("UnusedDeclaration") + private boolean useNativeGit; + + /** + * Skip the plugin execution. + * + * @parameter default-value="false" + * @since 2.1.8 + */ + @SuppressWarnings("UnusedDeclaration") + private boolean skip = false; + + /** + * Can be used to exclude certain properties from being emited into the resulting file. + * May be useful when you want to hide {@code git.remote.origin.url} (maybe because it contains your repo password?), + * or the email of the committer etc. + * + * Each value may be globbing, that is, you can write {@code git.commit.user.*} to exclude both, the {@code name}, + * as well as {@code email} properties from being emitted into the resulting files. + * + * Please note that the strings here are Java regexes ({@code .*} is globbing, not plain {@code *}). + * + * @parameter + * @since 2.1.9 + */ + @SuppressWarnings("UnusedDeclaration") + private List excludeProperties = Collections.emptyList(); + + /** * The properties we store our data in and then expose them */ @@ -241,6 +287,11 @@ public void execute() throws MojoExecutionException { // Set the verbose setting now it should be correctly loaded from maven. loggerBridge.setVerbose(verbose); + if (skip) { + log("skip is true, return"); + return; + } + if (isPomProject(project) && skipPoms) { log("isPomProject is true and skipPoms is true, return"); return; @@ -255,13 +306,17 @@ public void execute() throws MojoExecutionException { log("dotGitDirectory is null, aborting execution!"); return; } - + try { properties = initProperties(); - prefixDot = prefix + "."; + + String trimmedPrefix = prefix.trim(); + prefixDot = trimmedPrefix.equals("") ? "" : trimmedPrefix + "."; loadGitData(properties); loadBuildTimeData(properties); + loadShortDescribe(properties); + filterNot(properties, excludeProperties); logProperties(properties); if (generateGitPropertiesFile) { @@ -271,12 +326,37 @@ public void execute() throws MojoExecutionException { if (injectAllReactorProjects) { appendPropertiesToReactorProjects(properties); } - } catch (IOException e) { + } catch (Exception e) { + e.printStackTrace(); handlePluginFailure(e); } } + private void filterNot(Properties properties, @Nullable List exclusions) { + if (exclusions == null) + return; + + List> excludePredicates = Lists.transform(exclusions, new Function>() { + @Override + public Predicate apply(String exclude) { + return Predicates.containsPattern(exclude); + } + }); + + Predicate shouldExclude = Predicates.alwaysFalse(); + for (Predicate predicate : excludePredicates) { + shouldExclude = Predicates.or(shouldExclude, predicate); + } + + for (String key : properties.stringPropertyNames()) { + if (shouldExclude.apply(key)) { + loggerBridge.debug("shouldExclude.apply(" + key +") = " + shouldExclude.apply(key)); + properties.remove(key); + } + } + } + /** * Reacts to an exception based on the {@code failOnUnableToExtractRepoInfo} setting. * If it's true, an MojoExecutionException will be throw, otherwise we just log an error message. @@ -288,7 +368,7 @@ private void handlePluginFailure(Exception e) throws MojoExecutionException { if (failOnUnableToExtractRepoInfo) { throw new MojoExecutionException("Could not complete Mojo execution...", e); } else { - loggerBridge.error(); + loggerBridge.error(e.getMessage(), com.google.common.base.Throwables.getStackTraceAsString(e)); } } @@ -316,7 +396,8 @@ private void throwWhenRequiredDirectoryNotFound(File dotGitDirectory, Boolean re * * @return the File representation of the .git directory */ - private File lookupGitDirectory() throws MojoExecutionException { + @VisibleForTesting + File lookupGitDirectory() throws MojoExecutionException { return new GitDirLocator(project, reactorProjects).lookupGitDirectory(dotGitDirectory); } @@ -348,106 +429,61 @@ void loadBuildTimeData(@NotNull Properties properties) { SimpleDateFormat smf = new SimpleDateFormat(dateFormat); put(properties, BUILD_TIME, smf.format(commitDate)); } - - void loadGitData(@NotNull Properties properties) throws IOException, MojoExecutionException { - Repository git = getGitRepository(); - ObjectReader objectReader = git.newObjectReader(); - - // git.user.name - String userName = git.getConfig().getString("user", null, "name"); - put(properties, BUILD_AUTHOR_NAME, userName); - - // git.user.email - String userEmail = git.getConfig().getString("user", null, "email"); - put(properties, BUILD_AUTHOR_EMAIL, userEmail); - - // more details parsed out bellow - Ref HEAD = git.getRef(Constants.HEAD); - if (HEAD == null) { - throw new MojoExecutionException("Could not get HEAD Ref, are you sure you've set the dotGitDirectory property of this plugin to a valid path?"); - } - RevWalk revWalk = new RevWalk(git); - RevCommit headCommit = revWalk.parseCommit(HEAD.getObjectId()); - revWalk.markStart(headCommit); - - try { - // git.branch - String branch = git.getBranch(); - put(properties, BRANCH, branch); - - // git.commit.id.describe - maybePutGitDescribe(properties, git); - - // git.commit.id - put(properties, COMMIT_ID, headCommit.getName()); - - // git.commit.id.abbrev - putAbbrevCommitId(objectReader, properties, headCommit, abbrevLength); - - // git.commit.author.name - String commitAuthor = headCommit.getAuthorIdent().getName(); - put(properties, COMMIT_AUTHOR_NAME, commitAuthor); - - // git.commit.author.email - String commitEmail = headCommit.getAuthorIdent().getEmailAddress(); - put(properties, COMMIT_AUTHOR_EMAIL, commitEmail); - - // git commit.message.full - String fullMessage = headCommit.getFullMessage(); - put(properties, COMMIT_MESSAGE_FULL, fullMessage); - - // git commit.message.short - String shortMessage = headCommit.getShortMessage(); - put(properties, COMMIT_MESSAGE_SHORT, shortMessage); - - long timeSinceEpoch = headCommit.getCommitTime(); - Date commitDate = new Date(timeSinceEpoch * 1000); // git is "by sec" and java is "by ms" - SimpleDateFormat smf = new SimpleDateFormat(dateFormat); - put(properties, COMMIT_TIME, smf.format(commitDate)); - - // git remote.origin.url - String remoteOriginUrl = git.getConfig().getString("remote", "origin", "url"); - put(properties, REMOTE_ORIGIN_URL, remoteOriginUrl); - } finally { - revWalk.dispose(); + + void loadShortDescribe(@NotNull Properties properties) { + //removes git hash part from describe + String commitDescribe = properties.getProperty(prefixDot + COMMIT_DESCRIBE); + + if (commitDescribe != null) { + int startPos = commitDescribe.indexOf("-g"); + if (startPos > 0) { + String commitShortDescribe; + int endPos = commitDescribe.indexOf('-', startPos + 1); + if (endPos < 0) { + commitShortDescribe = commitDescribe.substring(0, startPos); + } else { + commitShortDescribe = commitDescribe.substring(0, startPos) + commitDescribe.substring(endPos); + } + put(properties, COMMIT_SHORT_DESCRIBE, commitShortDescribe); + } else { + put(properties, COMMIT_SHORT_DESCRIBE, commitDescribe); + } } } - private void putAbbrevCommitId(ObjectReader objectReader, Properties properties, RevCommit headCommit, int abbrevLength) throws MojoExecutionException { - if (abbrevLength < 2 || abbrevLength > 40) { - throw new MojoExecutionException("Abbreviated commit id lenght must be between 2 and 40, inclusive! Was [%s]. ".codePointBefore(abbrevLength) + - "Please fix your configuration (the element)."); - } - - try { - AbbreviatedObjectId abbreviatedObjectId = objectReader.abbreviate(headCommit, abbrevLength); - put(properties, COMMIT_ID_ABBREV, abbreviatedObjectId.name()); - } catch (IOException e) { - throw new MojoExecutionException("Unable to abbreviate commit id! " + - "You may want to investigate the element in your configuration.", e); + void loadGitData(@NotNull Properties properties) throws IOException, MojoExecutionException { + if (useNativeGit) { + loadGitDataWithNativeGit(properties); + }else{ + loadGitDataWithJGit(properties); } } - void maybePutGitDescribe(@NotNull Properties properties, @NotNull Repository repository) throws MojoExecutionException { - if (gitDescribe == null || !gitDescribe.isSkip()) { - putGitDescribe(properties, repository); - } + void loadGitDataWithNativeGit(@NotNull Properties properties) throws IOException, MojoExecutionException { + File basedir = project.getBasedir().getCanonicalFile(); + NativeGitProvider nativeGitProvider = NativeGitProvider + .on(basedir) + .withLoggerBridge(loggerBridge) + .setVerbose(verbose) + .setPrefixDot(prefixDot) + .setAbbrevLength(abbrevLength) + .setDateFormat(dateFormat) + .setGitDescribe(gitDescribe); + + nativeGitProvider.loadGitData(properties); } - @VisibleForTesting - void putGitDescribe(@NotNull Properties properties, @NotNull Repository repository) throws MojoExecutionException { - try { - DescribeResult describeResult = DescribeCommand - .on(repository) - .withLoggerBridge(loggerBridge) - .setVerbose(verbose) - .apply(gitDescribe) - .call(); - - put(properties, COMMIT_DESCRIBE, describeResult.toString()); - } catch (GitAPIException ex) { - throw new MojoExecutionException("Unable to obtain git.commit.id.describe information", ex); - } + void loadGitDataWithJGit(@NotNull Properties properties) throws IOException, MojoExecutionException { + JGitProvider jGitProvider = JGitProvider + .on(dotGitDirectory) + .withLoggerBridge(loggerBridge) + .setVerbose(verbose) + .setPrefixDot(prefixDot) + .setAbbrevLength(abbrevLength) + .setDateFormat(dateFormat) + .setGitDescribe(gitDescribe); + + jGitProvider.loadGitData(properties); } static int counter; @@ -459,9 +495,14 @@ void generatePropertiesFile(@NotNull Properties properties, File base, String pr Files.createParentDirs(gitPropsFile); fileWriter = new FileWriter(gitPropsFile); - properties.store(fileWriter, "Generated by Git-Commit-Id-Plugin"); - - log("Writing properties file to [", gitPropsFile.getAbsolutePath(), "] (for module ", project.getName() + (++counter) ,")..."); + if ("json".equalsIgnoreCase(format)) { + log("Writing json file to [", gitPropsFile.getAbsolutePath(), "] (for module ", project.getName() + (++counter), ")..."); + ObjectMapper mapper = new ObjectMapper(); + mapper.writeValue(fileWriter, properties); + } else { + log("Writing properties file to [", gitPropsFile.getAbsolutePath(), "] (for module ", project.getName() + (++counter), ")..."); + properties.store(fileWriter, "Generated by Git-Commit-Id-Plugin"); + } } catch (IOException ex) { throw new RuntimeException("Cannot create custom git properties file: " + gitPropsFile, ex); @@ -474,43 +515,10 @@ boolean isPomProject(@NotNull MavenProject project) { return project.getPackaging().equalsIgnoreCase("pom"); } - @NotNull - private Repository getGitRepository() throws MojoExecutionException { - Repository repository; - - FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder(); - try { - repository = repositoryBuilder - .setGitDir(dotGitDirectory) - .readEnvironment() // scan environment GIT_* variables - .findGitDir() // scan up the file system tree - .build(); - } catch (IOException e) { - throw new MojoExecutionException("Could not initialize repository...", e); - } - - if (repository == null) { - throw new MojoExecutionException("Could not create git repository. Are you sure '" + dotGitDirectory + "' is the valid Git root for your project?"); - } - - return repository; - } - private void put(@NotNull Properties properties, String key, String value) { - putWithoutPrefix(properties, prefixDot + key, value); - } - - private void putWithoutPrefix(@NotNull Properties properties, String key, String value) { - if (!isNotEmpty(value)) { - value = "Unknown"; - } - - log(key, value); - properties.put(key, value); - } - - private boolean isNotEmpty(@Nullable String value) { - return null != value && !" ".equals(value.trim().replaceAll(" ", "")); + String keyWithPrefix = prefixDot + key; + log(keyWithPrefix, value); + PropertyManager.putWithoutPrefix(properties, keyWithPrefix, value); } void log(String... parts) { @@ -527,6 +535,10 @@ private boolean directoryDoesNotExits(File fileLocation) { // SETTERS FOR TESTS ---------------------------------------------------- + public void setFormat(String format) { + this.format = format; + } + public void setVerbose(boolean verbose) { this.verbose = verbose; } @@ -554,4 +566,16 @@ public void setGitDescribe(GitDescribeConfig gitDescribe) { public void setAbbrevLength(int abbrevLength) { this.abbrevLength = abbrevLength; } + + public void setExcludeProperties(List excludeProperties) { + this.excludeProperties = excludeProperties; + } + + public void useNativeGit(boolean useNativeGit){ + this.useNativeGit = useNativeGit; + } + + public LoggerBridge getLoggerBridge(){ + return loggerBridge; + } } diff --git a/src/main/java/pl/project13/maven/git/GitDataProvider.java b/src/main/java/pl/project13/maven/git/GitDataProvider.java new file mode 100644 index 0000000..c9a50be --- /dev/null +++ b/src/main/java/pl/project13/maven/git/GitDataProvider.java @@ -0,0 +1,156 @@ +package pl.project13.maven.git; + +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.project.MavenProject; +import java.io.IOException; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import java.util.*; +import pl.project13.maven.git.log.LoggerBridge; +import pl.project13.maven.git.log.MavenLoggerBridge; +import pl.project13.maven.git.util.PropertyManager; + +import static com.google.common.base.Strings.isNullOrEmpty; + +/** +* +* @author Konrad 'ktoso' Malawski +*/ +public abstract class GitDataProvider { + @NotNull + protected LoggerBridge loggerBridge; + + protected boolean verbose; + + protected String prefixDot; + + protected int abbrevLength; + + protected String dateFormat; + + protected GitDescribeConfig gitDescribe; + + protected abstract void init() throws MojoExecutionException; + protected abstract String getBuildAuthorName(); + protected abstract String getBuildAuthorEmail(); + protected abstract void prepareGitToExtractMoreDetailedReproInformation() throws MojoExecutionException; + protected abstract String getBranchName() throws IOException; + protected abstract String getGitDescribe() throws MojoExecutionException; + protected abstract String getCommitId(); + protected abstract String getAbbrevCommitId() throws MojoExecutionException; + protected abstract String getCommitAuthorName(); + protected abstract String getCommitAuthorEmail(); + protected abstract String getCommitMessageFull(); + protected abstract String getCommitMessageShort(); + protected abstract String getCommitTime(); + protected abstract String getRemoteOriginUrl() throws MojoExecutionException; + protected abstract void finalCleanUp(); + + public void loadGitData(@NotNull Properties properties) throws IOException, MojoExecutionException{ + init(); + // git.user.name + put(properties, GitCommitIdMojo.BUILD_AUTHOR_NAME, getBuildAuthorName()); + // git.user.email + put(properties, GitCommitIdMojo.BUILD_AUTHOR_EMAIL, getBuildAuthorEmail()); + + try { + prepareGitToExtractMoreDetailedReproInformation(); + validateAbbrevLength(abbrevLength); + + // git.branch + put(properties, GitCommitIdMojo.BRANCH, determineBranchName(System.getenv())); + // git.commit.id.describe + maybePutGitDescribe(properties); + // git.commit.id + put(properties, GitCommitIdMojo.COMMIT_ID, getCommitId()); + // git.commit.id.abbrev + put(properties, GitCommitIdMojo.COMMIT_ID_ABBREV, getAbbrevCommitId()); + // git.commit.author.name + put(properties, GitCommitIdMojo.COMMIT_AUTHOR_NAME, getCommitAuthorName()); + // git.commit.author.email + put(properties, GitCommitIdMojo.COMMIT_AUTHOR_EMAIL, getCommitAuthorEmail()); + // git.commit.message.full + put(properties, GitCommitIdMojo.COMMIT_MESSAGE_FULL, getCommitMessageFull()); + // git.commit.message.short + put(properties, GitCommitIdMojo.COMMIT_MESSAGE_SHORT, getCommitMessageShort()); + // git.commit.time + put(properties, GitCommitIdMojo.COMMIT_TIME, getCommitTime()); + // git remote.origin.url + put(properties, GitCommitIdMojo.REMOTE_ORIGIN_URL, getRemoteOriginUrl()); + }finally{ + finalCleanUp(); + } + } + + private void maybePutGitDescribe(@NotNull Properties properties) throws MojoExecutionException{ + boolean isGitDescribeOptOutByDefault = (gitDescribe == null); + boolean isGitDescribeOptOutByConfiguration = (gitDescribe != null && !gitDescribe.isSkip()); + + if (isGitDescribeOptOutByDefault || isGitDescribeOptOutByConfiguration) { + put(properties, GitCommitIdMojo.COMMIT_DESCRIBE, getGitDescribe()); + } + } + + void validateAbbrevLength(int abbrevLength) throws MojoExecutionException { + if (abbrevLength < 2 || abbrevLength > 40) { + throw new MojoExecutionException("Abbreviated commit id lenght must be between 2 and 40, inclusive! Was [%s]. ".codePointBefore(abbrevLength) + + "Please fix your configuration (the element)."); + } + } + + /** + * If running within Jenkins/Hudosn, honor the branch name passed via GIT_BRANCH env var. This + * is necessary because Jenkins/Hudson alwways invoke build in a detached head state. + * + * @param env + * @return results of getBranchName() or, if in Jenkins/Hudson, value of GIT_BRANCH + */ + protected String determineBranchName(Map env) throws IOException { + if (runningOnBuildServer(env)) { + return determineBranchNameOnBuildServer(env); + } else { + return getBranchName(); + } + } + + /** + * Detects if we're running on Jenkins or Hudson, based on expected env variables. + *

+ * TODO: How can we detect Bamboo, TeamCity etc? Pull requests welcome. + * + * @return true if running + * @see JenkinsSetEnvironmentVariables + * @param env + */ + private boolean runningOnBuildServer(Map env) { + return env.containsKey("HUDSON_URL") || env.containsKey("JENKINS_URL"); + } + + /** + * Is "Jenkins aware", and prefers {@code GIT_BRANCH} to getting the branch via git if that enviroment variable is set. + * The {@GIT_BRANCH} variable is set by Jenkins/Hudson when put in detached HEAD state, but it still knows which branch was cloned. + */ + protected String determineBranchNameOnBuildServer(Map env) throws IOException { + String enviromentBasedBranch = env.get("GIT_BRANCH"); + if(isNullOrEmpty(enviromentBasedBranch)) { + log("Detected that running on CI enviroment, but using repository branch, no GIT_BRANCH detected."); + return getBranchName(); + }else { + log("Using environment variable based branch name.", "GIT_BRANCH =", enviromentBasedBranch); + return enviromentBasedBranch; + } + } + + void log(String... parts) { + if(loggerBridge!=null){ + loggerBridge.log((Object[]) parts); + } + } + + protected void put(@NotNull Properties properties, String key, String value) { + String keyWithPrefix = prefixDot + key; + log(keyWithPrefix, value); + PropertyManager.putWithoutPrefix(properties, keyWithPrefix, value); + } +} diff --git a/src/main/java/pl/project13/maven/git/GitDescribeConfig.java b/src/main/java/pl/project13/maven/git/GitDescribeConfig.java index 3c8e975..1d48ad3 100644 --- a/src/main/java/pl/project13/maven/git/GitDescribeConfig.java +++ b/src/main/java/pl/project13/maven/git/GitDescribeConfig.java @@ -134,9 +134,9 @@ public class GitDescribeConfig { * tags to be included in the search, enable this option. *

* - * @parameter + * @parameter default-value=false */ - private Boolean tags; + private boolean tags; /** *
--long
@@ -149,7 +149,7 @@ public class GitDescribeConfig { *

*

false
by default. */ - private Boolean forceLongFormat; + private boolean forceLongFormat; public GitDescribeConfig() { } @@ -203,19 +203,32 @@ public void setSkip(boolean skip) { this.skip = skip; } - public Boolean getForceLongFormat() { + public boolean getForceLongFormat() { return forceLongFormat; } - public void setForceLongFormat(Boolean forceLongFormat) { + public void setForceLongFormat(boolean forceLongFormat) { this.forceLongFormat = forceLongFormat; } - public Boolean getTags() { + public boolean getTags() { return tags; } - public void setTags(Boolean tags) { + public void setTags(boolean tags) { this.tags = tags; } + + @Override + public String toString() { + return "GitDescribeConfig{" + + "skip=" + skip + + ", always=" + always + + ", dirty='" + dirty + '\'' + + ", match='" + match + '\'' + + ", abbrev=" + abbrev + + ", tags=" + tags + + ", forceLongFormat=" + forceLongFormat + + '}'; + } } diff --git a/src/main/java/pl/project13/maven/git/JGitProvider.java b/src/main/java/pl/project13/maven/git/JGitProvider.java new file mode 100644 index 0000000..00363e3 --- /dev/null +++ b/src/main/java/pl/project13/maven/git/JGitProvider.java @@ -0,0 +1,247 @@ +package pl.project13.maven.git; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.annotations.VisibleForTesting; +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; +import com.google.common.collect.Lists; +import com.google.common.io.Closeables; +import com.google.common.io.Files; +import org.apache.maven.plugin.AbstractMojo; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.project.MavenProject; +import org.eclipse.jgit.api.errors.GitAPIException; +import org.eclipse.jgit.lib.AbbreviatedObjectId; +import org.eclipse.jgit.lib.Constants; +import org.eclipse.jgit.lib.ObjectReader; +import org.eclipse.jgit.lib.Ref; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.revwalk.RevCommit; +import org.eclipse.jgit.revwalk.RevWalk; +import org.eclipse.jgit.storage.file.FileRepositoryBuilder; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import pl.project13.jgit.DescribeCommand; +import pl.project13.jgit.DescribeResult; +import pl.project13.maven.git.log.LoggerBridge; +import pl.project13.maven.git.log.MavenLoggerBridge; + +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.*; + +/** +* +* @author Konrad 'ktoso' Malawski +*/ +public class JGitProvider extends GitDataProvider { + + private File dotGitDirectory; + private Repository git; + private ObjectReader objectReader; + private RevWalk revWalk; + private RevCommit headCommit; + + @NotNull + public static JGitProvider on(@NotNull File dotGitDirectory) { + return new JGitProvider(dotGitDirectory); + } + + JGitProvider(@NotNull File dotGitDirectory){ + this.dotGitDirectory = dotGitDirectory; + } + + @NotNull + public JGitProvider withLoggerBridge(LoggerBridge bridge) { + super.loggerBridge = bridge; + return this; + } + + @NotNull + public JGitProvider setVerbose(boolean verbose) { + super.verbose = verbose; + super.loggerBridge.setVerbose(verbose); + return this; + } + + public JGitProvider setPrefixDot(String prefixDot) { + super.prefixDot = prefixDot; + return this; + } + + public JGitProvider setAbbrevLength(int abbrevLength) { + super.abbrevLength = abbrevLength; + return this; + } + + public JGitProvider setDateFormat(String dateFormat) { + super.dateFormat = dateFormat; + return this; + } + + public JGitProvider setGitDescribe(GitDescribeConfig gitDescribe){ + super.gitDescribe = gitDescribe; + return this; + } + + @Override + protected void init() throws MojoExecutionException{ + git = getGitRepository(); + objectReader = git.newObjectReader(); + } + + @Override + protected String getBuildAuthorName(){ + String userName = git.getConfig().getString("user", null, "name"); + return userName; + } + + @Override + protected String getBuildAuthorEmail(){ + String userEmail = git.getConfig().getString("user", null, "email"); + return userEmail; + } + + @Override + protected void prepareGitToExtractMoreDetailedReproInformation() throws MojoExecutionException{ + try{ + // more details parsed out bellow + Ref HEAD = git.getRef(Constants.HEAD); + if (HEAD == null) { + throw new MojoExecutionException("Could not get HEAD Ref, are you sure you've set the dotGitDirectory property of this plugin to a valid path?"); + } + revWalk = new RevWalk(git); + headCommit = revWalk.parseCommit(HEAD.getObjectId()); + revWalk.markStart(headCommit); + }catch(Exception e){ + throw new MojoExecutionException("Error", e); + } + } + + @Override + protected String getBranchName() throws IOException{ + String branch = git.getBranch(); + return branch; + } + + @Override + protected String getGitDescribe() throws MojoExecutionException{ + String gitDescribe = getGitDescribe(git); + return gitDescribe; + } + + @Override + protected String getCommitId(){ + String commitId = headCommit.getName(); + return commitId; + } + + @Override + protected String getAbbrevCommitId() throws MojoExecutionException{ + String abbrevCommitId = getAbbrevCommitId(objectReader, headCommit, abbrevLength); + return abbrevCommitId; + } + + @Override + protected String getCommitAuthorName(){ + String commitAuthor = headCommit.getAuthorIdent().getName(); + return commitAuthor; + } + + @Override + protected String getCommitAuthorEmail(){ + String commitEmail = headCommit.getAuthorIdent().getEmailAddress(); + return commitEmail; + } + + @Override + protected String getCommitMessageFull(){ + String fullMessage = headCommit.getFullMessage(); + return fullMessage; + } + + @Override + protected String getCommitMessageShort(){ + String shortMessage = headCommit.getShortMessage(); + return shortMessage; + } + + @Override + protected String getCommitTime(){ + long timeSinceEpoch = headCommit.getCommitTime(); + Date commitDate = new Date(timeSinceEpoch * 1000); // git is "by sec" and java is "by ms" + SimpleDateFormat smf = new SimpleDateFormat(dateFormat); + return smf.format(commitDate); + } + + @Override + protected String getRemoteOriginUrl() throws MojoExecutionException{ + String remoteOriginUrl = git.getConfig().getString("remote", "origin", "url"); + return remoteOriginUrl; + } + + @Override + protected void finalCleanUp(){ + revWalk.dispose(); + } + + + @VisibleForTesting + String getGitDescribe(@NotNull Repository repository) throws MojoExecutionException { + try { + DescribeResult describeResult = DescribeCommand + .on(repository) + .withLoggerBridge(super.loggerBridge) + .setVerbose(super.verbose) + .apply(super.gitDescribe) + .call(); + + return describeResult.toString(); + } catch (GitAPIException ex) { + ex.printStackTrace(); + throw new MojoExecutionException("Unable to obtain git.commit.id.describe information", ex); + } + } + + private String getAbbrevCommitId(ObjectReader objectReader, RevCommit headCommit, int abbrevLength) throws MojoExecutionException { + try { + AbbreviatedObjectId abbreviatedObjectId = objectReader.abbreviate(headCommit, abbrevLength); + return abbreviatedObjectId.name(); + } catch (IOException e) { + throw new MojoExecutionException("Unable to abbreviate commit id! " + + "You may want to investigate the element in your configuration.", e); + } + } + + + @NotNull + private Repository getGitRepository() throws MojoExecutionException { + Repository repository; + + FileRepositoryBuilder repositoryBuilder = new FileRepositoryBuilder(); + try { + repository = repositoryBuilder + .setGitDir(dotGitDirectory) + .readEnvironment() // scan environment GIT_* variables + .findGitDir() // scan up the file system tree + .build(); + } catch (IOException e) { + throw new MojoExecutionException("Could not initialize repository...", e); + } + + if (repository == null) { + throw new MojoExecutionException("Could not create git repository. Are you sure '" + dotGitDirectory + "' is the valid Git root for your project?"); + } + + return repository; + } + + // SETTERS FOR TESTS ---------------------------------------------------- + + @VisibleForTesting + public void setRepository (Repository git){ + this.git = git; + } +} diff --git a/src/main/java/pl/project13/maven/git/NativeGitProvider.java b/src/main/java/pl/project13/maven/git/NativeGitProvider.java new file mode 100644 index 0000000..af78910 --- /dev/null +++ b/src/main/java/pl/project13/maven/git/NativeGitProvider.java @@ -0,0 +1,288 @@ +package pl.project13.maven.git; + +import com.google.common.base.Splitter; +import org.apache.maven.plugin.MojoExecutionException; +import org.jetbrains.annotations.NotNull; +import pl.project13.maven.git.log.LoggerBridge; + +import java.io.*; + + +public class NativeGitProvider extends GitDataProvider { + + private transient CliRunner runner; + + private String dateFormat; + + File dotGitDirectory; + + File canonical; + + private static final int REMOTE_COLS = 3; + + private NativeGitProvider(CliRunner runner, String dateFormat) { + this.runner = runner; + this.dateFormat = dateFormat; + } + + @NotNull + public static NativeGitProvider on(@NotNull File dotGitDirectory) { + return new NativeGitProvider(dotGitDirectory); + } + + NativeGitProvider(@NotNull File dotGitDirectory) { + this.dotGitDirectory = dotGitDirectory; + } + + + @NotNull + public NativeGitProvider withLoggerBridge(LoggerBridge bridge) { + super.loggerBridge = bridge; + return this; + } + + @NotNull + public NativeGitProvider setVerbose(boolean verbose) { + super.verbose = verbose; + super.loggerBridge.setVerbose(verbose); + return this; + } + + public NativeGitProvider setPrefixDot(String prefixDot) { + super.prefixDot = prefixDot; + return this; + } + + public NativeGitProvider setAbbrevLength(int abbrevLength) { + super.abbrevLength = abbrevLength; + return this; + } + + public NativeGitProvider setDateFormat(String dateFormat) { + super.dateFormat = dateFormat; + return this; + } + + public NativeGitProvider setGitDescribe(GitDescribeConfig gitDescribe) { + super.gitDescribe = gitDescribe; + return this; + } + + @Override + protected void init() throws MojoExecutionException { + try { + canonical = dotGitDirectory.getCanonicalFile(); + } catch (Exception ex) { + throw new MojoExecutionException("Passed a invalid directory, not a GIT repository: " + dotGitDirectory, ex); + } + } + + @Override + protected String getBuildAuthorName() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%an\""); + } + + @Override + protected String getBuildAuthorEmail() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%ae\""); + } + + @Override + protected void prepareGitToExtractMoreDetailedReproInformation() throws MojoExecutionException { + } + + @Override + protected String getBranchName() throws IOException { + return getBranch(canonical); + } + + private String getBranch(File canonical) { + String branch = tryToRunGitCommand(canonical, "symbolic-ref HEAD"); + if (branch != null) { + branch = branch.replace("refs/heads/", ""); + } + return branch; + } + + @Override + protected String getGitDescribe() throws MojoExecutionException { + String argumentsForGitDescribe = getArgumentsForGitDescribe(super.gitDescribe); + String gitDescribe = tryToRunGitCommand(canonical, "describe " + argumentsForGitDescribe); + return gitDescribe; + } + + private String getArgumentsForGitDescribe(GitDescribeConfig gitDescribe) { + if (gitDescribe != null) { + return getArgumentsForGitDescribeAndDescibeNotNull(gitDescribe); + } else { + return ""; + } + } + + private String getArgumentsForGitDescribeAndDescibeNotNull(GitDescribeConfig gitDescribe) { + StringBuilder argumentsForGitDescribe = new StringBuilder(); + + if (gitDescribe.isAlways()) { + argumentsForGitDescribe.append("--always "); + } + + String dirtyMark = gitDescribe.getDirty(); + if (dirtyMark != null && !dirtyMark.isEmpty()) { + // Option: --dirty[=] + // TODO: Code Injection? Or does the CliRunner escape Arguments? + argumentsForGitDescribe.append("--dirty=" + dirtyMark + " "); + } + + argumentsForGitDescribe.append("--abbrev=" + gitDescribe.getAbbrev() + " "); + + if (gitDescribe.getTags()) { + argumentsForGitDescribe.append("--tags "); + } + + if (gitDescribe.getForceLongFormat()) { + argumentsForGitDescribe.append("--long "); + } + return argumentsForGitDescribe.toString(); + } + + @Override + protected String getCommitId() { + return tryToRunGitCommand(canonical, "rev-parse HEAD"); + } + + @Override + protected String getAbbrevCommitId() throws MojoExecutionException { + // we could run: tryToRunGitCommand(canonical, "rev-parse --short="+abbrevLength+" HEAD"); + // but minimum length for --short is 4, our abbrevLength could be 2 + String commitId = getCommitId(); + String abbrevCommitId = ""; + + if (commitId != null && !commitId.isEmpty()) { + abbrevCommitId = commitId.substring(0, abbrevLength); + } + + return abbrevCommitId; + } + + @Override + protected String getCommitAuthorName() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%cn\""); + } + + @Override + protected String getCommitAuthorEmail() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%ce\""); + } + + @Override + protected String getCommitMessageFull() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%B\""); + } + + @Override + protected String getCommitMessageShort() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%s\""); + } + + @Override + protected String getCommitTime() { + return tryToRunGitCommand(canonical, "log -1 --pretty=format:\"%ci\""); + } + + @Override + protected String getRemoteOriginUrl() throws MojoExecutionException { + return getOriginRemote(canonical); + } + + @Override + protected void finalCleanUp() { + } + + private String getOriginRemote(File directory) throws MojoExecutionException { + String remoteUrl = null; + try { + String remotes = runGitCommand(directory, "remote -v"); + + // welcome to text output parsing hell! - no `\n` is not enough + for (String line : Splitter.onPattern("\\((fetch|push)\\)?").split(remotes)) { + String trimmed = line.trim(); + + if (trimmed.startsWith("origin")) { + String[] splited = trimmed.split("\\s+"); + if (splited.length != REMOTE_COLS - 1) { // because (fetch/push) was trimmed + throw new MojoExecutionException("Unsupported GIT output (verbose remote address): " + line); + } + remoteUrl = splited[1]; + } + } + } catch (Exception e) { + throw new MojoExecutionException("Error while obtaining origin remote", e); + } + return remoteUrl; + } + + private String tryToRunGitCommand(File directory, String gitCommand) { + String retValue = ""; + try { + retValue = runGitCommand(directory, gitCommand); + } catch (MojoExecutionException ex) { + // do nothing + } + return retValue; + } + + private String runGitCommand(File directory, String gitCommand) throws MojoExecutionException { + try { + String env = System.getenv("GIT_PATH"); + String exec = (env == null) ? "git" : env; + String command = String.format("%s %s", exec, gitCommand); + + String result = getRunner().run(directory, command).trim(); + return result; + } catch (IOException ex) { + throw new MojoExecutionException("Could not run GIT command - GIT is not installed or not exists in system path? " + "Tried to run: 'git " + gitCommand + "'", ex); + } + } + + private CliRunner getRunner() { + if (runner == null) { + runner = new Runner(); + } + return runner; + } + + + // CLI RUNNER + + public interface CliRunner { + String run(File directory, String command) throws IOException; + } + + protected static class Runner implements CliRunner { + @Override + public String run(File directory, String command) throws IOException { + String output = ""; + try { + ProcessBuilder builder = new ProcessBuilder(command.split("\\s")); + final Process proc = builder.directory(directory).start(); + proc.waitFor(); + final InputStream is = proc.getInputStream(); + BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + final StringBuilder commandResult = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + commandResult.append(line); + } + + if (proc.exitValue() != 0) { + String message = String.format("Git command exited with invalid status [%d]: `%s`", proc.exitValue(), output); + throw new IOException(message); + } + output = commandResult.toString(); + } catch (InterruptedException ex) { + throw new IOException(ex); + } + return output; + } + } +} diff --git a/src/main/java/pl/project13/maven/git/log/LoggerBridge.java b/src/main/java/pl/project13/maven/git/log/LoggerBridge.java index 8b53582..403bee6 100644 --- a/src/main/java/pl/project13/maven/git/log/LoggerBridge.java +++ b/src/main/java/pl/project13/maven/git/log/LoggerBridge.java @@ -20,5 +20,6 @@ public interface LoggerBridge { void log(Object... parts); void error(Object... parts); + void debug(Object... parts); void setVerbose(boolean verbose); } diff --git a/src/main/java/pl/project13/maven/git/log/MavenLoggerBridge.java b/src/main/java/pl/project13/maven/git/log/MavenLoggerBridge.java index 55e68df..be01769 100644 --- a/src/main/java/pl/project13/maven/git/log/MavenLoggerBridge.java +++ b/src/main/java/pl/project13/maven/git/log/MavenLoggerBridge.java @@ -33,14 +33,21 @@ public MavenLoggerBridge(Log logger, boolean verbose) { @Override public void log(Object... parts) { if (verbose) { - logger.info(Joiner.on(" ").join(parts)); + logger.info(Joiner.on(" ").useForNull("null").join(parts)); } } @Override public void error(Object... parts) { if (verbose) { - logger.error(Joiner.on(" ").join(parts)); + logger.error(Joiner.on(" ").useForNull("null").join(parts)); + } + } + + @Override + public void debug(Object... parts) { + if (verbose) { + logger.debug(Joiner.on(" ").useForNull("null").join(parts)); } } diff --git a/src/main/java/pl/project13/maven/git/log/StdOutLoggerBridge.java b/src/main/java/pl/project13/maven/git/log/StdOutLoggerBridge.java index 3963e91..b8fafb4 100644 --- a/src/main/java/pl/project13/maven/git/log/StdOutLoggerBridge.java +++ b/src/main/java/pl/project13/maven/git/log/StdOutLoggerBridge.java @@ -40,6 +40,13 @@ public void error(Object... parts) { System.out.println("ERR: " + Joiner.on(" ").join(parts)); } } + + @Override + public void debug(Object... parts) { + if(verbose) { + System.out.println("DBG: " + Joiner.on(" ").join(parts)); + } + } @Override public void setVerbose(boolean verbose) { diff --git a/src/main/java/pl/project13/maven/git/util/PropertyManager.java b/src/main/java/pl/project13/maven/git/util/PropertyManager.java new file mode 100644 index 0000000..34314eb --- /dev/null +++ b/src/main/java/pl/project13/maven/git/util/PropertyManager.java @@ -0,0 +1,18 @@ +package pl.project13.maven.git.util; + +import java.util.Properties; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +public class PropertyManager { + public static void putWithoutPrefix(@NotNull Properties properties, String key, String value) { + if (!isNotEmpty(value)) { + value = "Unknown"; + } + properties.put(key, value); + } + + private static boolean isNotEmpty(@Nullable String value) { + return null != value && !" ".equals(value.trim().replaceAll(" ", "")); + } +} diff --git a/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml b/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml new file mode 100644 index 0000000..1f5fd37 --- /dev/null +++ b/src/main/resources/META-INF/m2e/lifecycle-mapping-metadata.xml @@ -0,0 +1,17 @@ + + + + + + revision + + + + + true + false + + + + + diff --git a/src/main/resources/git-commit-id.properties b/src/main/resources/git-commit-id.properties new file mode 100644 index 0000000..20281fb --- /dev/null +++ b/src/main/resources/git-commit-id.properties @@ -0,0 +1 @@ +git-commit-id-plugin.version=${version} \ No newline at end of file diff --git a/src/test/java/pl/project13/jgit/DescribeCommandAbbrevIntegrationTest.java b/src/test/java/pl/project13/jgit/DescribeCommandAbbrevIntegrationTest.java new file mode 100644 index 0000000..8e06e4d --- /dev/null +++ b/src/test/java/pl/project13/jgit/DescribeCommandAbbrevIntegrationTest.java @@ -0,0 +1,129 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.jgit; + +import com.google.common.base.Optional; +import org.eclipse.jgit.lib.Repository; +import org.jetbrains.annotations.NotNull; +import org.junit.Test; +import pl.project13.maven.git.AvailableGitTestRepo; +import pl.project13.maven.git.FileSystemMavenSandbox; +import pl.project13.maven.git.GitIntegrationTest; + +import static org.fest.assertions.Assertions.assertThat; + +public class DescribeCommandAbbrevIntegrationTest extends GitIntegrationTest { + + final String PROJECT_NAME = "my-jar-project"; + + @Override + protected Optional projectDir() { + return Optional.of(PROJECT_NAME); + } + + /** + * Test for such situation: + *
+   * master!tag-test> lg
+   *   b6a73ed - (HEAD, master) third addition (8 hours ago) 
+   *   d37a598 - (lightweight-tag) second line (8 hours ago) 
+   *   9597545 - (annotated-tag) initial commit (8 hours ago) 
+   *
+   * master!tag-test> describe --abbrev=1
+   *   annotated-tag-2-gb6a7
+   *
+   * master!tag-test> describe --abbrev=2
+   *   annotated-tag-2-gb6a7
+   * 
+ * + *

+ * Notice that git will not use less than 4 chars for the abbrev, and in large repositories, + * it will use the abbrev so long that it's guaranteed to be unique. + *

+ */ + @Test + public void shouldGiveTheCommitIdAndDirtyMarkerWhenNothingElseCanBeFound() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .abbrev(2) // 2 is enough to be unique in this small repo + .setVerbose(true) + .call(); + + // then + // git will notice this, and fallback to use 4 chars + String smallestAbbrevGitWillUse = abbrev("b6a73ed747dd8dc98642d731ddbf09824efb9d48", 2); + + assertThat(res.prefixedCommitId()).isEqualTo("g" + smallestAbbrevGitWillUse); + } + + @Test + public void onGitCommitIdsRepo_shouldNoticeThat2CharsIsTooLittleToBeUniqueAndUse4CharsInstead() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .abbrev(2) // way too small to be unique in git-commit-id's repo! + .setVerbose(true) + .call(); + + // then + // git will notice this, and fallback to use 4 chars + String smallestAbbrevGitWillUse = abbrev("7181832b7d9afdeb86c32cf51214abfca63625be", 4); + + assertThat(res.prefixedCommitId()).isEqualTo("g" + smallestAbbrevGitWillUse); + } + + String abbrev(@NotNull String id, int n) { + return id.substring(0, n); + } +} diff --git a/src/test/java/pl/project13/jgit/DescribeCommandIntegrationTest.java b/src/test/java/pl/project13/jgit/DescribeCommandIntegrationTest.java new file mode 100644 index 0000000..686a63e --- /dev/null +++ b/src/test/java/pl/project13/jgit/DescribeCommandIntegrationTest.java @@ -0,0 +1,454 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.jgit; + +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.ResetCommand; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.revwalk.RevCommit; +import org.jetbrains.annotations.NotNull; +import org.junit.Test; +import pl.project13.maven.git.AvailableGitTestRepo; +import pl.project13.maven.git.FileSystemMavenSandbox; +import pl.project13.maven.git.GitIntegrationTest; + +import static java.util.Collections.singletonList; +import static org.fest.assertions.Assertions.assertThat; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; + +public class DescribeCommandIntegrationTest extends GitIntegrationTest { + + public static final int DEFAULT_ABBREV_LEN = 7; + public static final String DIRTY_SUFFIX = "-dirty"; + final String PROJECT_NAME = "my-jar-project"; + + @Override + protected Optional projectDir() { + return Optional.of(PROJECT_NAME); + } + + @Test + public void shouldGiveTheCommitIdAndDirtyMarkerWhenNothingElseCanBeFound() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT_DIRTY) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo(abbrev(HEAD.getName())); + } + + @Test + public void shouldGiveTheCommitIdWhenNothingElseCanBeFound() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeCommand command = spy(DescribeCommand.on(repo)); + doReturn(false).when(command).findDirtyState(any(Repository.class)); + + command.setVerbose(true); + DescribeResult res = command.call(); + + // then + assertThat(res).isNotNull(); + + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo(abbrev(HEAD.getName())); + } + + @Test + public void shouldGiveTheCommitIdWhenTagIsOnOtherBranch() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_TAG_ON_DIFFERENT_BRANCH) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeCommand command = spy(DescribeCommand.on(repo)); + doReturn(false).when(command).findDirtyState(any(Repository.class)); + + command.setVerbose(true); + DescribeResult res = command.call(); + + // then + assertThat(res).isNotNull(); + + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo(abbrev(HEAD.getName())); + } + + @Test + public void shouldGiveTheCommitIdWhenNothingElseCanBeFoundAndUseAbbrevVersionOfIt() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + int abbrevLength = 10; + Repository repo = git().getRepository(); + + // when + DescribeCommand command = spy(DescribeCommand.on(repo)); + doReturn(false).when(command).findDirtyState(any(Repository.class)); + + command + .setVerbose(true) + .abbrev(abbrevLength); + DescribeResult res = command.call(); + + // then + assertThat(res).isNotNull(); + + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo(abbrev(HEAD.getName(), abbrevLength)); + } + + @Test + public void shouldGiveTagWithDistanceToCurrentCommitAndItsIdAndDirtyMarker() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeCommand command = DescribeCommand.on(repo); + command.dirty(DIRTY_SUFFIX); + command.setVerbose(true); + DescribeResult res = command.call(); + + // then + assertThat(res).isNotNull(); + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo("v2.0.4-25-g" + abbrev(HEAD.getName()) + DIRTY_SUFFIX); + } + + @Test + public void shouldGiveTagWithDistanceToCurrentCommitAndItsIdAndCustomDirtyMarker() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + String customDirtySuffix = "-DEV"; + + Repository repo = git().getRepository(); + + // when + DescribeCommand command = DescribeCommand + .on(repo) + .dirty(customDirtySuffix) + .setVerbose(true); + DescribeResult res = command.call(); + + // then + assertThat(res).isNotNull(); + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo("v2.0.4-25-g" + abbrev(HEAD.getName()) + customDirtySuffix); + } + + @Test + public void shouldGiveTagWithDistanceToCurrentCommitAndItsId() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + Git.wrap(repo).reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeCommand command = DescribeCommand.on(repo); + command.setVerbose(true); + DescribeResult res = command.call(); + + // then + assertThat(res).isNotNull(); + RevCommit HEAD = git().log().call().iterator().next(); + assertThat(res.toString()).isEqualTo("v2.0.4-25-g" + abbrev(HEAD.getName())); + } + + @Test + public void shouldGiveTag() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.ON_A_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + git().reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).isEqualTo("v1.0.0"); + } + + @Test + public void shouldNotGiveDirtyMarkerWhenOnATagAndDirtyButNoDirtyOptionConfigured() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.ON_A_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + git().checkout().setName("v1.0.0").call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).isEqualTo("v1.0.0"); + } + + @Test + public void shouldGiveTagWithCustomDirtyMarker() throws Exception { + // given + String customDirtySuffix = "-banana"; + + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.ON_A_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + git().checkout().setName("v1.0.0").call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .dirty(customDirtySuffix) + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).isEqualTo("v1.0.0" + customDirtySuffix); + } + + @Test + public void shouldNotGiveDirtyTagByDefault() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.ON_A_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .setVerbose(true) + .call(); + + // then + assertThat(res.toString()).isEqualTo("v1.0.0"); + } + + @Test + public void shouldGiveAnnotatedTagWithDirtyMarker() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .dirty(DIRTY_SUFFIX) + .abbrev(0) + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).isEqualTo("annotated-tag" + DIRTY_SUFFIX); + } + + @Test + public void shouldGiveLightweightTagWithDirtyMarker() throws Exception { + // given + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.ON_A_TAG_DIRTY) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + + Git.wrap(repo).reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).isEqualTo("v1.0.0"); + } + + @Test + public void isATag_shouldProperlyDetectIfACommitIsATag() throws Exception { + // given + String tagName = "v1"; + String commitHash = "de4db35917b268089c81c9ab1b52541bb778f5a0"; + + ObjectId oid = ObjectId.fromString(commitHash); + + // when + boolean isATag = DescribeCommand.hasTags(oid, ImmutableMap.of(oid, singletonList(tagName))); + + // then + assertThat(isATag).isTrue(); + } + + @Test + public void isATag_shouldProperlyDetectIfACommitIsANotTag() throws Exception { + // given + String tagName = "v1"; + String tagHash = "de4db35917b268089c81c9ab1b52541bb778f5a0"; + ObjectId tagOid = ObjectId.fromString(tagHash); + + String commitHash = "de4db35917b268089c81c9ab1b52541bb778f5a0"; + ObjectId oid = ObjectId.fromString(commitHash); + + // when + boolean isATag = DescribeCommand.hasTags(oid, ImmutableMap.of(tagOid, singletonList(tagName))); + + // then + assertThat(isATag).isTrue(); + } + + @Test + public void shouldReturnJustTheNearestTagWhenAbbrevIsZero() throws Exception { + // given + int zeroAbbrev = 0; + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + + Repository repo = git().getRepository(); + Git.wrap(repo).reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .abbrev(zeroAbbrev) + .setVerbose(true) + .call(); + + // then + assertThat(res.toString()).isEqualTo("annotated-tag"); + + ObjectId objectId = res.commitObjectId(); + assert objectId != null; + assertThat(objectId.getName()).isNotEmpty(); + } + + @Test + public void trimFullTagName_shouldTrimFullTagNamePrefix() throws Exception { + // given + String fullName = "refs/tags/v1.0.0"; + + // when + String simpleName = DescribeCommand.trimFullTagName(fullName); + + // then + assertThat(simpleName).isEqualTo("v1.0.0"); + } + + String abbrev(@NotNull String id) { + return abbrev(id, DEFAULT_ABBREV_LEN); + } + + String abbrev(@NotNull String id, int n) { + return id.substring(0, n); + } +} diff --git a/src/test/java/pl/project13/jgit/DescribeCommandOptionsTest.java b/src/test/java/pl/project13/jgit/DescribeCommandOptionsTest.java new file mode 100644 index 0000000..952df5f --- /dev/null +++ b/src/test/java/pl/project13/jgit/DescribeCommandOptionsTest.java @@ -0,0 +1,107 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.jgit; + +import org.eclipse.jgit.lib.Repository; +import org.junit.Test; +import org.mockito.Matchers; +import pl.project13.maven.git.GitDescribeConfig; +import pl.project13.test.utils.AssertException; + +import static org.mockito.Mockito.*; + +public class DescribeCommandOptionsTest { + + + @Test + public void abbrev_shouldVerifyLengthContract_failOn41() throws Exception { + // given + final Repository repo = mock(Repository.class); + final int length = 41; + + // when + AssertException.CodeBlock block = new AssertException.CodeBlock() { + @Override + public void run() throws Exception { + DescribeCommand.on(repo).abbrev(length); + } + }; + + // then + AssertException.thrown(IllegalArgumentException.class, block); + } + + @Test + public void abbrev_shouldVerifyLengthContract_failOnMinus12() throws Exception { + // given + final Repository repo = mock(Repository.class); + final int length = -12; + + // when + AssertException.CodeBlock block = new AssertException.CodeBlock() { + @Override + public void run() { + DescribeCommand.on(repo).abbrev(length); + } + }; + + // then + AssertException.thrown(IllegalArgumentException.class, block); + } + + @Test + public void apply_shouldDelegateToAllOptions() throws Exception { + // given + final String DEVEL = "DEVEL"; + final String MATCH = "*"; + final int ABBREV = 12; + + GitDescribeConfig config = new GitDescribeConfig(true, DEVEL, MATCH, ABBREV, true, true); + + Repository repo = mock(Repository.class); + DescribeCommand command = DescribeCommand.on(repo); + DescribeCommand spiedCommand = spy(command); + + // when + spiedCommand.apply(config); + + // then + verify(spiedCommand).always(Matchers.eq(true)); + verify(spiedCommand).abbrev(Matchers.eq(ABBREV)); + verify(spiedCommand).dirty(Matchers.eq(DEVEL)); + verify(spiedCommand).tags(Matchers.eq(true)); + verify(spiedCommand).forceLongFormat(Matchers.eq(true)); + } +} diff --git a/src/test/java/pl/project13/jgit/DescribeCommandTagsIntegrationTest.java b/src/test/java/pl/project13/jgit/DescribeCommandTagsIntegrationTest.java new file mode 100644 index 0000000..c930980 --- /dev/null +++ b/src/test/java/pl/project13/jgit/DescribeCommandTagsIntegrationTest.java @@ -0,0 +1,236 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.jgit; + +import com.google.common.base.Optional; +import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.api.ResetCommand; +import org.eclipse.jgit.lib.Repository; +import org.junit.Before; +import org.junit.Test; +import pl.project13.maven.git.AvailableGitTestRepo; +import pl.project13.maven.git.FileSystemMavenSandbox; +import pl.project13.maven.git.GitIntegrationTest; + +import static org.fest.assertions.Assertions.assertThat; + +public class DescribeCommandTagsIntegrationTest extends GitIntegrationTest { + + final String PROJECT_NAME = "my-jar-project"; + + @Override + @Before + public void setUp() throws Exception { + super.setUp(); + + mavenSandbox + .withParentProject(PROJECT_NAME, "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG) + .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST); + } + + @Override + protected Optional projectDir() { + return Optional.of(PROJECT_NAME); + } + + @Test + public void shouldFindAnnotatedTagWithTagsOptionNotGiven() throws Exception { + // given + + // HEAD + // lightweight-tag + // annotated-tag + + Repository repo = git().getRepository(); + git().reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).contains("annotated-tag"); + } + + @Test + public void shouldFindLightweightTagWithTagsOptionGiven() throws Exception { + // given + + // HEAD + // lightweight-tag + // annotated-tag + + Repository repo = git().getRepository(); + git().reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .setVerbose(true) + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).contains("lightweight-tag"); + } + + @Test + public void shouldFindAnnotatedTagWithMatchOptionGiven() throws Exception { + // given + + // HEAD + // lightweight-tag + // annotated-tag + + Repository repo = git().getRepository(); + git().reset().setMode(ResetCommand.ResetType.HARD).call(); + + // when + DescribeResult res = DescribeCommand + .on(repo) + .tags() + .setVerbose(true) + .match("annotated*") + .call(); + + // then + assertThat(res).isNotNull(); + + assertThat(res.toString()).contains("annotated-tag"); + } + + /** + *
+   * > lg
+   *   * b6a73ed - (HEAD, master) third addition (32 hours ago) 
+   *   * d37a598 - (newest-tag, lightweight-tag) second line (32 hours ago) 
+   *   * 9597545 - (annotated-tag) initial commit (32 hours ago) 
+   *
+   * > git describe
+   *   newest-tag-1-gb6a73ed
+   */
+  @Test
+  public void shouldFindNewerTagWhenACommitHasTwoOrMoreTags() throws Exception {
+    // given
+
+    // HEAD
+    // lightweight-tag
+    // annotated-tag
+
+    Repository repo = git().getRepository();
+    git().reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    // when
+    DescribeResult res = DescribeCommand
+        .on(repo)
+        .tags()
+        .setVerbose(true)
+        .call();
+
+    // then
+    assertThat(res).isNotNull();
+
+    assertThat(res.toString()).isEqualTo("lightweight-tag-1-gb6a73ed");
+  }
+
+  @Test
+  public void shouldUseTheNewestTagOnACommitIfItHasMoreThanOneTags() throws Exception {
+    // given
+    mavenSandbox
+        .withParentProject(PROJECT_NAME, "jar")
+        .withNoChildProject()
+        .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG)
+        .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST);
+
+    String snapshotTag = "0.0.1-SNAPSHOT";
+    String latestTag = "OName-0.0.1";
+
+    Repository repo = git().getRepository();
+    Git jgit = Git.wrap(repo);
+    jgit.reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    // when
+    jgit.tag().setName(snapshotTag).call();
+    Thread.sleep(2000);
+    jgit.tag().setName(latestTag).call();
+
+    DescribeResult res = DescribeCommand
+        .on(repo)
+        .tags()
+        .setVerbose(true)
+        .call();
+
+    // then
+    assertThat(res.toString()).isEqualTo(latestTag);
+  }
+
+  @Test
+  public void shouldUseTheNewestTagOnACommitIfItHasMoreThanOneTagsReversedCase() throws Exception {
+    // given
+    mavenSandbox
+        .withParentProject(PROJECT_NAME, "jar")
+        .withNoChildProject()
+        .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG)
+        .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST);
+
+    String beforeTag = "OName-0.0.1";
+    String latestTag = "0.0.1-SNAPSHOT";
+
+    Repository repo = git().getRepository();
+    Git jgit = Git.wrap(repo);
+    jgit.reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    // when
+    jgit.tag().setName(beforeTag).call();
+    jgit.tag().setName(latestTag).call();
+
+    DescribeResult res = DescribeCommand
+        .on(repo)
+        .tags()
+        .setVerbose(true)
+        .call();
+
+    // then
+    assertThat(res.toString()).isEqualTo(latestTag);
+  }
+}
diff --git a/src/test/java/pl/project13/jgit/DescribeResultTest.java b/src/test/java/pl/project13/jgit/DescribeResultTest.java
new file mode 100644
index 0000000..974e5a0
--- /dev/null
+++ b/src/test/java/pl/project13/jgit/DescribeResultTest.java
@@ -0,0 +1,137 @@
+/*
+ * This file is part of git-commit-id-plugin by Konrad Malawski 
+ *
+ * git-commit-id-plugin is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * git-commit-id-plugin is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with git-commit-id-plugin.  If not, see .
+ */
+
+package pl.project13.jgit;
+
+import com.google.common.base.Optional;
+import org.eclipse.jgit.api.ResetCommand;
+import org.eclipse.jgit.lib.ObjectId;
+import org.eclipse.jgit.lib.Repository;
+import org.junit.Before;
+import org.junit.Test;
+import pl.project13.maven.git.AvailableGitTestRepo;
+import pl.project13.maven.git.FileSystemMavenSandbox;
+import pl.project13.maven.git.GitIntegrationTest;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+public class DescribeResultTest extends GitIntegrationTest {
+
+  final static String PROJECT_NAME = "my-jar-project";
+
+  final static String VERSION = "v2.5";
+  final static String DEFAULT_ABBREV_COMMIT_ID = "b6a73ed";
+  final static String FULL_HEAD_COMMIT_ID = "b6a73ed747dd8dc98642d731ddbf09824efb9d48";
+  public static final ObjectId HEAD_OBJECT_ID = ObjectId.fromString(FULL_HEAD_COMMIT_ID);
+  final static String G_DEFAULT_ABBREV_COMMIT_ID = "g" + DEFAULT_ABBREV_COMMIT_ID;
+  final static String DIRTY_MARKER = "-DEV";
+
+  @Override
+  @Before
+  public void setUp() throws Exception {
+    super.setUp();
+
+    mavenSandbox
+        .withParentProject(PROJECT_NAME, "jar")
+        .withNoChildProject()
+        .withGitRepoInParent(AvailableGitTestRepo.WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG)
+        .create(FileSystemMavenSandbox.CleanUp.CLEANUP_FIRST);
+  }
+
+  @Override
+  protected Optional projectDir() {
+    return Optional.of(PROJECT_NAME);
+  }
+
+  @Test
+  public void shouldToStringForTag() throws Exception {
+    // given
+    git().reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    DescribeResult res = new DescribeResult(VERSION);
+
+    // when
+    String s = res.toString();
+
+    // then
+    assertThat(s).isEqualTo(VERSION);
+  }
+
+  @Test
+  public void shouldToStringForDirtyTag() throws Exception {
+    // given
+    Repository repo = git().getRepository();
+    git().reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    DescribeResult res = new DescribeResult(repo.newObjectReader(), VERSION, 2, HEAD_OBJECT_ID, true, DIRTY_MARKER);
+
+    // when
+    String s = res.toString();
+
+    // then
+    assertThat(s).isEqualTo(VERSION + "-" + 2 + "-" + G_DEFAULT_ABBREV_COMMIT_ID + DIRTY_MARKER);
+  }
+
+  @Test
+  public void shouldToStringForDirtyTagAnd10Abbrev() throws Exception {
+    // given
+    Repository repo = git().getRepository();
+    git().reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    DescribeResult res = new DescribeResult(repo.newObjectReader(), VERSION, 2, HEAD_OBJECT_ID, true, DIRTY_MARKER)
+        .withCommitIdAbbrev(10);
+
+    String expectedHash = "gb6a73ed747";
+
+    // when
+    String s = res.toString();
+
+    // then
+    assertThat(s).isEqualTo(VERSION + "-" + 2 + "-" + expectedHash + DIRTY_MARKER);
+  }
+
+  @Test
+  public void shouldToStringFor2CommitsAwayFromTag() throws Exception {
+    // given
+    Repository repo = git().getRepository();
+    git().reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    DescribeResult res = new DescribeResult(repo.newObjectReader(), VERSION, 2, HEAD_OBJECT_ID);
+
+    // when
+    String s = res.toString();
+
+    // then
+    assertThat(s).isEqualTo(VERSION + "-" + 2 + "-" + G_DEFAULT_ABBREV_COMMIT_ID);
+  }
+
+  @Test
+  public void shouldToStringForNoTagJustACommit() throws Exception {
+    // given
+    Repository repo = git().getRepository();
+    git().reset().setMode(ResetCommand.ResetType.HARD).call();
+
+    DescribeResult res = new DescribeResult(repo.newObjectReader(), HEAD_OBJECT_ID);
+
+
+    // when
+    String s = res.toString();
+
+    // then
+    assertThat(s).isEqualTo(DEFAULT_ABBREV_COMMIT_ID);
+  }
+}
diff --git a/src/test/java/pl/project13/maven/git/AvailableGitTestRepo.java b/src/test/java/pl/project13/maven/git/AvailableGitTestRepo.java
new file mode 100644
index 0000000..aad1697
--- /dev/null
+++ b/src/test/java/pl/project13/maven/git/AvailableGitTestRepo.java
@@ -0,0 +1,73 @@
+/*
+ * This file is part of git-commit-id-plugin by Konrad Malawski 
+ *
+ * git-commit-id-plugin is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * git-commit-id-plugin is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with git-commit-id-plugin.  If not, see .
+ */
+
+package pl.project13.maven.git;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.io.File;
+
+public enum AvailableGitTestRepo {
+  WITH_ONE_COMMIT("src/test/resources/_git_one_commit"),
+  WITH_ONE_COMMIT_DIRTY("src/test/resources/_git_one_commit_dirty"),
+  GIT_COMMIT_ID("src/test/resources/_git_of_git_commit_id"),
+  ON_A_TAG("src/test/resources/_git_on_a_tag"),
+  /**
+   * 
+   * > lg
+   *   * b6a73ed - (HEAD, master) third addition (32 hours ago) 
+   *   * d37a598 - (newest-tag, lightweight-tag) second line (32 hours ago) 
+   *   * 9597545 - (annotated-tag) initial commit (32 hours ago) 
+   * 
+ * + * Where the newest-tag was created latest: + *
+   * > tag -v newest-tag
+   * object d37a598a7a98531ad1375966642c6b1263129436
+   * tagger Konrad Malawski  1346017608 +0200
+   *
+   * > tag -v annotated-tag
+   * object 95975455ef2b1af048f2926b9ba7fb804e22171b
+   * tagger Konrad Malawski  1345901561 +0200
+   * 
+ */ + WITH_COMMIT_THAT_HAS_TWO_TAGS("src/test/resources/_git_with_commit_that_has_two_tags"), + ON_A_TAG_DIRTY("src/test/resources/_git_on_a_tag_dirty"), + WITH_SUBMODULES("src/test/resources/_git_with_submodules"), + /** + *
+   * b6a73ed - (HEAD, master) third addition (4 minutes ago) 
+   * d37a598 - (lightweight-tag) second line (6 minutes ago) 
+   * 9597545 - (annotated-tag) initial commit (6 minutes ago) 
+   * 
+ */ + WITH_LIGHTWEIGHT_TAG_BEFORE_ANNOTATED_TAG("src/test/resources/_git_lightweight_tag_before_annotated_tag"), + WITH_TAG_ON_DIFFERENT_BRANCH("src/test/resources/_git_with_tag_on_different_branch"), + + MAVEN_GIT_COMMIT_ID_PLUGIN(".git"); + + private String dir; + + AvailableGitTestRepo(String dir) { + this.dir = dir; + } + + @NotNull + public File getDir() { + return new File(dir); + } +} diff --git a/src/test/java/pl/project13/maven/git/ContainsKeyCondition.java b/src/test/java/pl/project13/maven/git/ContainsKeyCondition.java new file mode 100644 index 0000000..45f4ad8 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/ContainsKeyCondition.java @@ -0,0 +1,42 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import org.fest.assertions.Condition; +import org.jetbrains.annotations.NotNull; + +import java.util.Map; + +class ContainsKeyCondition extends Condition> { + + private String key; + + public ContainsKeyCondition(String key) { + this.key = key; + } + + @Override + public boolean matches(@NotNull Map map) { + boolean containsKey = map.containsKey(key); + if (!containsKey) { + throw new RuntimeException(String.format("Map did not contain [%s] key! Map is: %s\nValue for [%s] was: %s", key, map, key, map.get(key))); + } + return true; + } + +} diff --git a/src/test/java/pl/project13/maven/git/DoesNotContainKeyCondition.java b/src/test/java/pl/project13/maven/git/DoesNotContainKeyCondition.java new file mode 100644 index 0000000..ae198c7 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/DoesNotContainKeyCondition.java @@ -0,0 +1,43 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import org.fest.assertions.Condition; +import org.jetbrains.annotations.NotNull; + +import java.util.Map; + +class DoesNotContainKeyCondition extends Condition> { + + private String key; + + public DoesNotContainKeyCondition(String key) { + this.key = key; + } + + @Override + public boolean matches(@NotNull Map map) { + boolean containsKey = map.containsKey(key); + if (containsKey) { + System.out.println(String.format("Map contained [%s] key! Map is: %s", key, map)); + throw new RuntimeException(String.format("Map contained [%s] key! Map is: %s", key, map)); + } + return true; + } + +} diff --git a/src/test/java/pl/project13/maven/git/FileSystemMavenSandbox.java b/src/test/java/pl/project13/maven/git/FileSystemMavenSandbox.java new file mode 100644 index 0000000..580d998 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/FileSystemMavenSandbox.java @@ -0,0 +1,180 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import org.apache.commons.io.FileUtils; +import org.apache.maven.project.MavenProject; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.io.File; +import java.io.IOException; + +/** + * Quick and dirty maven projects tree structure to create on disk during integration tests + * Can have both parent and child projects set up + * Copies sample git repository from prototype location to newly created project + * Has ability to set target project for storing git repository + * + * @author mostr + */ +public class FileSystemMavenSandbox { + + private static final String FILE_SEPARATOR = System.getProperty("file.separator"); + + private MavenProject childProject; + private String rootSandboxPath; + private MavenProject parentProject; + + /** + * Sample git repository location to use as source in integration tests + * Test should copy content of this folder to ".git" in correct destination + */ + private File gitRepoSourceDir; + + @Nullable + private File gitRepoTargetDir; + + public FileSystemMavenSandbox(String rootSandboxPath) { + this.rootSandboxPath = rootSandboxPath; + } + + @NotNull + public FileSystemMavenSandbox withParentProject(String parentProjectDirName, String packaging) { + parentProject = createProject(new File(rootSandboxPath + FILE_SEPARATOR + parentProjectDirName), packaging); + return this; + } + + @NotNull + public FileSystemMavenSandbox withNoChildProject() { + // no-op: marker for better tests readability + return this; + } + + @NotNull + public FileSystemMavenSandbox withChildProject(String childProjectDirName, String packaging) { + childProject = createProject(new File(parentProject.getBasedir(), childProjectDirName), packaging); + childProject.setParent(parentProject); + return this; + } + + @NotNull + public FileSystemMavenSandbox withGitRepoInParent(@NotNull AvailableGitTestRepo repo) { + System.out.println("TEST: Will prepare sandbox repository based on: [" + repo.getDir() + "]"); + + gitRepoSourceDir = repo.getDir(); + gitRepoTargetDir = parentProject.getBasedir(); + return this; + } + + @NotNull + public FileSystemMavenSandbox withGitRepoInChild(@NotNull AvailableGitTestRepo repo) { + gitRepoSourceDir = repo.getDir(); + gitRepoTargetDir = childProject.getBasedir(); + return this; + } + + @NotNull + public FileSystemMavenSandbox withGitRepoAboveParent(@NotNull AvailableGitTestRepo repo) { + gitRepoSourceDir = repo.getDir(); + gitRepoTargetDir = new File(rootSandboxPath); + return this; + } + + @NotNull + public FileSystemMavenSandbox withNoGitRepoAvailable() { + gitRepoTargetDir = null; + return this; + } + + @NotNull + public FileSystemMavenSandbox create(CleanUp cleanupMode) throws RuntimeException { + try { + cleanupIfRequired(cleanupMode); + createParentDir(); + createChildDirIfRequired(); + createGitRepoIfRequired(); + + return this; + } catch (Exception ex) { + throw new RuntimeException(String.format("Failed creating %s...", getClass().getSimpleName()), ex); + } + } + + private void createGitRepoIfRequired() throws IOException { + if (gitRepoTargetDir != null) { + FileUtils.copyDirectory(gitRepoSourceDir, new File(gitRepoTargetDir, ".git")); + } + } + + private void createParentDir() throws IOException { + FileUtils.forceMkdir(parentProject.getBasedir()); + } + + private void createChildDirIfRequired() throws IOException { + if (childProject != null) { + FileUtils.forceMkdir(childProject.getBasedir()); + } + } + + private void cleanupIfRequired(CleanUp cleanupMode) throws IOException { + if (CleanUp.CLEANUP_FIRST == cleanupMode) { + cleanup(); + } + } + + public void cleanup() { + try { + FileUtils.deleteDirectory(new File(rootSandboxPath)); + } catch (IOException e) { + System.out.println("Unable to delete the directory: " + rootSandboxPath); + } + } + + public MavenProject getParentProject() { + return parentProject; + } + + public MavenProject getChildProject() { + return childProject; + } + + public File getSandboxDir() { return gitRepoTargetDir.getAbsoluteFile(); } + + @NotNull + private MavenProject createProject(File basedir, String packaging) { + MavenProject project = new MavenProject(); + project.setBasedir(basedir); + project.setPackaging(packaging); + return project; + } + + public static enum CleanUp { + CLEANUP_FIRST, + NO_CLEANUP + } + + @Override + public String toString() { + return "FileSystemMavenSandbox{" + + "gitRepoTargetDir=" + gitRepoTargetDir + + ", gitRepoSourceDir=" + gitRepoSourceDir + + ", rootSandboxPath='" + rootSandboxPath + '\'' + + '}'; + } +} \ No newline at end of file diff --git a/src/test/java/pl/project13/maven/git/GitCommitIdMojoIntegrationTest.java b/src/test/java/pl/project13/maven/git/GitCommitIdMojoIntegrationTest.java new file mode 100644 index 0000000..c8239a3 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/GitCommitIdMojoIntegrationTest.java @@ -0,0 +1,595 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.io.Files; +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.project.MavenProject; +import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import pl.project13.maven.git.FileSystemMavenSandbox.CleanUp; +import pl.project13.test.utils.AssertException; + +import java.io.File; +import java.nio.charset.Charset; +import java.text.SimpleDateFormat; +import java.util.*; + +import static java.util.Arrays.*; +import static org.fest.assertions.Assertions.assertThat; +import static org.fest.assertions.MapAssert.entry; +import static org.mockito.internal.util.reflection.Whitebox.setInternalState; + +@RunWith(JUnitParamsRunner.class) +public class GitCommitIdMojoIntegrationTest extends GitIntegrationTest { + + static final boolean UseJGit = false; + static final boolean UseNativeGit = true; + + public static Collection useNativeGit() { + return asList(UseJGit, UseNativeGit); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldResolvePropertiesOnDefaultSettingsForNonPomProject(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-jar-project", "jar").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldNotRunWhenSkipIsSet(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-skip-project", "jar").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skip", true); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isEmpty(); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldNotRunWhenPackagingPomAndDefaultSettingsApply(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isEmpty(); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldRunWhenPackagingPomAndSkipPomsFalse(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isNotEmpty(); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldUseParentProjectRepoWhenInvokedFromChild(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withChildProject("my-jar-module", "jar").withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldUseChildProjectRepoIfInvokedFromChild(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withChildProject("my-jar-module", "jar").withGitRepoInChild(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldFailWithExceptionWhenNoGitRepoFound(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withNoGitRepoAvailable() + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + AssertException.CodeBlock block = new AssertException.CodeBlock() { + @Override + public void run() throws Exception { + mojo.execute(); + } + }; + + // then + AssertException.thrown(MojoExecutionException.class, block); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateCustomPropertiesFileProperties(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + String targetFilePath = "target/classes/custom-git.properties"; + File expectedFile = new File(targetProject.getBasedir(), targetFilePath); + + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("generateGitPropertiesFile", true); + alterMojoSettings("generateGitPropertiesFilename", targetFilePath); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + try { + mojo.execute(); + + // then + assertThat(expectedFile).exists(); + } finally { + FileUtils.forceDelete(expectedFile); + } + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateCustomPropertiesFileJson(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + String targetFilePath = "target/classes/custom-git.properties"; + File expectedFile = new File(targetProject.getBasedir(), targetFilePath); + + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("generateGitPropertiesFile", true); + alterMojoSettings("generateGitPropertiesFilename", targetFilePath); + alterMojoSettings("format", "json"); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + try { + mojo.execute(); + + // then + assertThat(expectedFile).exists(); + String json = Files.toString(expectedFile, Charset.defaultCharset()); + ObjectMapper om = new ObjectMapper(); + Map map = new HashMap(); + map = om.readValue(expectedFile, map.getClass()); + assertThat(map.size() > 10); + } finally { + FileUtils.forceDelete(expectedFile); + } + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldSkipWithoutFailOnNoGitDirectoryWhenNoGitRepoFound(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-jar-project", "jar") + .withNoChildProject() + .withNoGitRepoAvailable() + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("failOnNoGitDirectory", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isEmpty(); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldNotSkipWithoutFailOnNoGitDirectoryWhenNoGitRepoIsPresent(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-jar-project", "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("failOnNoGitDirectory", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateDescribeWithTagOnlyWhenForceLongFormatIsFalse(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(false, 7); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateDescribeWithTagOnlyWhenForceLongFormatIsFalseAndAbbrevLengthIsNonDefault(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(false, 10); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0")); + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe-short", "v1.0.0")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateDescribeWithTagAndZeroAndCommitIdWhenForceLongFormatIsTrue(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true, 7); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0-0-gde4db35")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateDescribeWithTagAndZeroAndCommitIdWhenForceLongFormatIsTrueAndAbbrevLengthIsNonDefault(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true, 10); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0-0-gde4db35917")); + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe-short", "v1.0.0-0")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateCommitIdAbbrevWithDefaultLength(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("abbrevLength", 7); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.abbrev", "de4db35")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldGenerateCommitIdAbbrevWithNonDefaultLength(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("abbrevLength", 10); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.abbrev", "de4db35917")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldFormatDate(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + String dateFormat = "MM/dd/yyyy"; + alterMojoSettings("dateFormat", dateFormat); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + + SimpleDateFormat smf = new SimpleDateFormat(dateFormat); + String expectedDate = smf.format(new Date()); + assertThat(targetProject.getProperties()).includes(entry("git.build.time", expectedDate)); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldSkipGitDescribe(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true, 7); + gitDescribeConfig.setSkip(true); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).satisfies(new DoesNotContainKeyCondition("git.commit.id.describe")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldMarkGitDescribeAsDirty(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG_DIRTY) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true, 7); + String dirtySuffix = "-dirtyTest"; + gitDescribeConfig.setDirty(dirtySuffix); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0-0-gde4db35" + dirtySuffix)); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldAlwaysPrintGitDescribe(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true, 7); + gitDescribeConfig.setAlways(true); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "0b0181b")); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldWorkWithEmptyGitDescribe(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + + GitDescribeConfig gitDescribeConfig = new GitDescribeConfig(); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "useNativeGit") + public void shouldWorkWithNullGitDescribe(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + + alterMojoSettings("gitDescribe", null); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + private GitDescribeConfig createGitDescribeConfig(boolean forceLongFormat, int abbrev) { + GitDescribeConfig gitDescribeConfig = new GitDescribeConfig(); + gitDescribeConfig.setTags(true); + gitDescribeConfig.setForceLongFormat(forceLongFormat); + gitDescribeConfig.setAbbrev(abbrev); + return gitDescribeConfig; + } + + private void alterMojoSettings(String parameterName, Object parameterValue) { + setInternalState(mojo, parameterName, parameterValue); + } + + private void assertGitPropertiesPresentInProject(Properties properties) { + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.branch")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.abbrev")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.describe")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.full")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.short")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.remote.origin.url")); + } +} diff --git a/src/test/java/pl/project13/maven/git/GitCommitIdMojoIntegrationTest.java.orig b/src/test/java/pl/project13/maven/git/GitCommitIdMojoIntegrationTest.java.orig new file mode 100644 index 0000000..3a30b33 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/GitCommitIdMojoIntegrationTest.java.orig @@ -0,0 +1,414 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import org.apache.maven.plugin.MojoExecutionException; +import org.apache.maven.project.MavenProject; +import org.codehaus.plexus.util.FileUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import java.util.Arrays; +import java.util.Collection; +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; + + +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.io.Files; +import pl.project13.maven.git.FileSystemMavenSandbox.CleanUp; +import pl.project13.test.utils.AssertException; + +import java.io.File; +import java.nio.charset.Charset; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import static org.fest.assertions.Assertions.assertThat; +import static org.fest.assertions.MapAssert.entry; +import static org.mockito.internal.util.reflection.Whitebox.setInternalState; + +@RunWith(JUnitParamsRunner.class) +public class GitCommitIdMojoIntegrationTest extends GitIntegrationTest { + + public static Collection defaultParameter() { + return Arrays.asList(new Object[] { + Boolean.FALSE, + Boolean.TRUE + }); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldResolvePropertiesOnDefaultSettingsForNonPomProject(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-jar-project", "jar").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldNotRunWhenSkipIsSet(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-skip-project", "jar").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skip", Boolean.TRUE); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isEmpty(); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldNotRunWhenPackagingPomAndDefaultSettingsApply(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isEmpty(); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldRunWhenPackagingPomAndSkipPomsFalse(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withNoChildProject().withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isNotEmpty(); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldUseParentProjectRepoWhenInvokedFromChild(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withChildProject("my-jar-module", "jar").withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldUseChildProjectRepoIfInvokedFromChild(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom").withChildProject("my-jar-module", "jar").withGitRepoInChild(AvailableGitTestRepo.WITH_ONE_COMMIT).create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldFailWithExceptionWhenNoGitRepoFound(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withNoGitRepoAvailable() + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("skipPoms", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + AssertException.CodeBlock block = new AssertException.CodeBlock() { + @Override + public void run() throws Exception { + mojo.execute(); + } + }; + + // then + AssertException.thrown(MojoExecutionException.class, block); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldGenerateCustomPropertiesFileProperties(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + String targetFilePath = "target/classes/custom-git.properties"; + File expectedFile = new File(targetProject.getBasedir(), targetFilePath); + + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("generateGitPropertiesFile", true); + alterMojoSettings("generateGitPropertiesFilename", targetFilePath); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + try { + mojo.execute(); + + // then + assertThat(expectedFile).exists(); + } finally { + FileUtils.forceDelete(expectedFile); + } + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldGenerateCustomPropertiesFileJson(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.GIT_COMMIT_ID) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + String targetFilePath = "target/classes/custom-git.properties"; + File expectedFile = new File(targetProject.getBasedir(), targetFilePath); + + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("generateGitPropertiesFile", true); + alterMojoSettings("generateGitPropertiesFilename", targetFilePath); + alterMojoSettings("format", "json"); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + try { + mojo.execute(); + + // then + assertThat(expectedFile).exists(); + String json = Files.toString(expectedFile, Charset.defaultCharset()); + ObjectMapper om = new ObjectMapper(); + Map map = new HashMap(); + map = om.readValue(expectedFile, map.getClass()); + assertThat(map.size() > 10); + } finally { + FileUtils.forceDelete(expectedFile); + } + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldSkipWithoutFailOnNoGitDirectoryWhenNoGitRepoFound(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-jar-project", "jar") + .withNoChildProject() + .withNoGitRepoAvailable() + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("failOnNoGitDirectory", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).isEmpty(); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldNotSkipWithoutFailOnNoGitDirectoryWhenNoGitRepoIsPresent(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-jar-project", "jar") + .withNoChildProject() + .withGitRepoInParent(AvailableGitTestRepo.WITH_ONE_COMMIT) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getParentProject(); + setProjectToExecuteMojoIn(targetProject); + alterMojoSettings("failOnNoGitDirectory", false); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldGenerateDescribeWithTagOnlyWhenForceLongFormatIsFalse(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(false,7); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0")); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldGenerateDescribeWithTagOnlyWhenForceLongFormatIsFalseAndAbbrevLengthIsNonDefault(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(false,10); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0")); + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe-short", "v1.0.0")); + } + + @Test + @Parameters(method = "defaultParameter") + public void shouldGenerateDescribeWithTagAndZeroAndCommitIdWhenForceLongFormatIsTrue(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true,7); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0-0-gde4db35")); + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe-short", "v1.0.0-0")); + } +<<<<<<< HEAD + +======= + + @Test + @Parameters(method = "defaultParameter") + public void shouldGenerateDescribeWithTagAndZeroAndCommitIdWhenForceLongFormatIsTrueAndAbbrevLengthIsNonDefault(boolean useNativeGit) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.ON_A_TAG) + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true,10); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + mojo.execute(); + + // then + assertThat(targetProject.getProperties()).includes(entry("git.commit.id.describe", "v1.0.0-0-gde4db35")); + } + + private GitDescribeConfig createGitDescribeConfig(boolean forceLongFormat, int abbrev){ + GitDescribeConfig gitDescribeConfig = new GitDescribeConfig(); + gitDescribeConfig.setTags(true); + gitDescribeConfig.setForceLongFormat(forceLongFormat); + gitDescribeConfig.setAbbrev(abbrev); + return gitDescribeConfig; + } + +>>>>>>> Added some tests which modify the abbrev length of the git.discribe to identify problems with the native git thingy + private void alterMojoSettings(String parameterName, Object parameterValue) { + setInternalState(mojo, parameterName, parameterValue); + } + + private void assertGitPropertiesPresentInProject(Properties properties) { + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.branch")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.abbrev")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.full")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.short")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.remote.origin.url")); + } +} diff --git a/src/test/java/pl/project13/maven/git/GitCommitIdMojoTest.java b/src/test/java/pl/project13/maven/git/GitCommitIdMojoTest.java new file mode 100644 index 0000000..91a23bb --- /dev/null +++ b/src/test/java/pl/project13/maven/git/GitCommitIdMojoTest.java @@ -0,0 +1,214 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Maps; +import org.apache.maven.project.MavenProject; +import org.eclipse.jgit.lib.Repository; +import org.junit.Before; +import org.junit.Test; + +import java.io.File; +import java.io.IOException; +import java.util.Map; +import java.util.Properties; + +import static org.fest.assertions.Assertions.assertThat; +import static org.mockito.Mockito.*; + +/** + * I'm not a big fan of this test - let's move to integration test from now on. + * + * @author Konrad 'ktoso' Malawski + */ +// todo remove this test in favor of complete intgration tests +public class GitCommitIdMojoTest { + + GitCommitIdMojo mojo; + JGitProvider jGitProvider; + + @Before + public void setUp() throws Exception { + File dotGitDirectory = AvailableGitTestRepo.GIT_COMMIT_ID.getDir(); + GitDescribeConfig gitDescribeConfig = new GitDescribeConfig(); + gitDescribeConfig.setSkip(false); + + String prefix = "git"; + int abbrevLength = 7; + String dateFormat = "dd.MM.yyyy '@' HH:mm:ss z"; + boolean verbose = true; + + mojo = new GitCommitIdMojo(); + mojo.setDotGitDirectory(dotGitDirectory); + mojo.setPrefix(prefix); + mojo.setAbbrevLength(abbrevLength); + mojo.setDateFormat(dateFormat); + mojo.setVerbose(verbose); + mojo.useNativeGit(false); + mojo.setGitDescribe(gitDescribeConfig); + + + mojo.runningTests = true; + mojo.project = mock(MavenProject.class, RETURNS_MOCKS); + when(mojo.project.getPackaging()).thenReturn("jar"); + + jGitProvider = JGitProvider.on(mojo.lookupGitDirectory()).withLoggerBridge(mojo.getLoggerBridge()); + } + + @Test + @SuppressWarnings("") + public void shouldIncludeExpectedProperties() throws Exception { + mojo.execute(); + + Properties properties = mojo.getProperties(); + + assertThat(properties).satisfies(new ContainsKeyCondition("git.branch")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.abbrev")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.full")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.short")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.remote.origin.url")); + } + + @Test + @SuppressWarnings("") + public void shouldExcludeAsConfiguredProperties() throws Exception { + // given + mojo.setExcludeProperties(ImmutableList.of("git.remote.origin.url", ".*.user.*")); + + // when + mojo.execute(); + + // then + Properties properties = mojo.getProperties(); + + // explicitly excluded + assertThat(properties).satisfies(new DoesNotContainKeyCondition("git.remote.origin.url")); + + // glob excluded + assertThat(properties).satisfies(new DoesNotContainKeyCondition("git.build.user.name")); + assertThat(properties).satisfies(new DoesNotContainKeyCondition("git.build.user.email")); + assertThat(properties).satisfies(new DoesNotContainKeyCondition("git.commit.user.name")); + assertThat(properties).satisfies(new DoesNotContainKeyCondition("git.commit.user.email")); + + // these stay + assertThat(properties).satisfies(new ContainsKeyCondition("git.branch")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.abbrev")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.full")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.short")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.time")); + } + + @Test + @SuppressWarnings("") + public void shouldHaveNoPrefixWhenConfiguredPrefixIsEmptyStringAsConfiguredProperties() throws Exception { + // given + mojo.setPrefix(""); + + // when + mojo.execute(); + + // then + Properties properties = mojo.getProperties(); + + // explicitly excluded + assertThat(properties).satisfies(new DoesNotContainKeyCondition("git.remote.origin.url")); + assertThat(properties).satisfies(new DoesNotContainKeyCondition(".remote.origin.url")); + assertThat(properties).satisfies(new ContainsKeyCondition("remote.origin.url")); + } + + @Test + public void shouldSkipDescribeWhenConfiguredToDoSo() throws Exception { + // given + GitDescribeConfig config = new GitDescribeConfig(); + config.setSkip(true); + + // when + mojo.setGitDescribe(config); + mojo.execute(); + + // then + assertThat(mojo.getProperties()).satisfies(new DoesNotContainKeyCondition("git.commit.id.describe")); + } + + @Test + public void shouldUseJenkinsBranchInfoWhenAvailable() throws IOException { + // given + Repository git = mock(Repository.class); + Map env = Maps.newHashMap(); + + String detachedHeadSHA1 = "16bb801934e652f5e291a003db05e364d83fba25"; + String ciUrl = "http://myciserver.com"; + + when(git.getBranch()).thenReturn(detachedHeadSHA1); + jGitProvider.setRepository(git); + // when + // in a detached head state, getBranch() will return the SHA1...standard behavior + assertThat(detachedHeadSHA1).isEqualTo(jGitProvider.determineBranchName(env)); + + // again, SHA1 will be returned if we're in jenkins, but GIT_BRANCH is not set + env.put("JENKINS_URL", "http://myjenkinsserver.com"); + assertThat(detachedHeadSHA1).isEqualTo(jGitProvider.determineBranchName(env)); + + // now set GIT_BRANCH too and see that the branch name from env var is returned + env.clear(); + env.put("JENKINS_URL", ciUrl); + env.put("GIT_BRANCH", "mybranch"); + assertThat("mybranch").isEqualTo(jGitProvider.determineBranchName(env)); + + // same, but for hudson + env.clear(); + env.put("GIT_BRANCH", "mybranch"); + env.put("HUDSON_URL", ciUrl); + assertThat("mybranch").isEqualTo(jGitProvider.determineBranchName(env)); + + // GIT_BRANCH but no HUDSON_URL or JENKINS_URL + env.clear(); + env.put("GIT_BRANCH", "mybranch"); + assertThat(detachedHeadSHA1).isEqualTo(jGitProvider.determineBranchName(env)); + } + + @Test + public void loadShortDescribe() { + assertShortDescribe("1.0.2-12-g19471", "1.0.2-12"); + assertShortDescribe("1.0.2-12-g19471-DEV", "1.0.2-12-DEV"); + assertShortDescribe("V-1.0.2-12-g19471-DEV", "V-1.0.2-12-DEV"); + + assertShortDescribe(null, null); + assertShortDescribe("12.4.0-1432", "12.4.0-1432"); + assertShortDescribe("12.6.0", "12.6.0"); + assertShortDescribe("", ""); + } + + private void assertShortDescribe(String commitDescribe, String expectedShortDescribe) { + GitCommitIdMojo commitIdMojo = new GitCommitIdMojo(); + Properties prop = new Properties(); + if (commitDescribe != null) { + prop.put(GitCommitIdMojo.COMMIT_DESCRIBE, commitDescribe); + } + commitIdMojo.loadShortDescribe(prop); + assertThat(prop.getProperty(GitCommitIdMojo.COMMIT_SHORT_DESCRIBE)).isEqualTo(expectedShortDescribe); + } +} diff --git a/src/test/java/pl/project13/maven/git/GitDirLocatorTest.java b/src/test/java/pl/project13/maven/git/GitDirLocatorTest.java new file mode 100644 index 0000000..c71ef3b --- /dev/null +++ b/src/test/java/pl/project13/maven/git/GitDirLocatorTest.java @@ -0,0 +1,55 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import com.google.common.io.Files; +import org.apache.maven.project.MavenProject; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.runners.MockitoJUnitRunner; + +import java.io.File; +import java.util.Collections; +import java.util.List; + +import static org.fest.assertions.Assertions.assertThat; + +@RunWith(MockitoJUnitRunner.class) +public class GitDirLocatorTest { + + @Mock + MavenProject project; + + List reactorProjects = Collections.emptyList(); + + @Test + public void shouldUseTheManuallySpecifiedDirectory() throws Exception { + // given + File dotGitDir = Files.createTempDir(); + + // when + GitDirLocator locator = new GitDirLocator(project, reactorProjects); + File foundDirectory = locator.lookupGitDirectory(dotGitDir); + + // then + assert foundDirectory != null; + assertThat(foundDirectory.getAbsolutePath()).isEqualTo(dotGitDir.getAbsolutePath()); + } + +} diff --git a/src/test/java/pl/project13/maven/git/GitIntegrationTest.java b/src/test/java/pl/project13/maven/git/GitIntegrationTest.java new file mode 100644 index 0000000..a3f6a0a --- /dev/null +++ b/src/test/java/pl/project13/maven/git/GitIntegrationTest.java @@ -0,0 +1,85 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import com.google.common.base.Optional; +import org.apache.maven.project.MavenProject; +import org.eclipse.jgit.api.Git; +import org.jetbrains.annotations.NotNull; +import org.junit.Before; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import static org.mockito.internal.util.reflection.Whitebox.setInternalState; + +public abstract class GitIntegrationTest { + + final String SANDBOX_DIR = "target/sandbox"; + + protected GitCommitIdMojo mojo; + protected FileSystemMavenSandbox mavenSandbox; + + @Before + public void setUp() throws Exception { + mavenSandbox = new FileSystemMavenSandbox(SANDBOX_DIR); + mojo = new GitCommitIdMojo(); + initializeMojoWithDefaults(mojo); + } + + protected Git git() throws IOException, InterruptedException { + return Git.open(dotGitDir(projectDir())); + } + + protected Optional projectDir() { + return Optional.absent(); + } + + @NotNull + protected File dotGitDir(@NotNull Optional projectDir) { + if (projectDir.isPresent()) { + return new File(SANDBOX_DIR + File.separator + projectDir.get() + File.separator + ".git"); + } else { + return new File(SANDBOX_DIR + File.separator + ".git"); + } + } + + public static void initializeMojoWithDefaults(GitCommitIdMojo mojo) { + Map mojoDefaults = new HashMap(); + mojoDefaults.put("verbose", false); + mojoDefaults.put("skipPoms", true); + mojoDefaults.put("abbrevLength", 7); + mojoDefaults.put("generateGitPropertiesFile", false); + mojoDefaults.put("generateGitPropertiesFilename", "src/main/resources/git.properties"); + mojoDefaults.put("prefix", "git"); + mojoDefaults.put("dateFormat", "dd.MM.yyyy '@' HH:mm:ss z"); + mojoDefaults.put("failOnNoGitDirectory", true); + mojoDefaults.put("useNativeGit", false); + for (Map.Entry entry : mojoDefaults.entrySet()) { + setInternalState(mojo, entry.getKey(), entry.getValue()); + } + } + + public void setProjectToExecuteMojoIn(@NotNull MavenProject project) { + setInternalState(mojo, "project", project); + setInternalState(mojo, "dotGitDirectory", new File(project.getBasedir(), ".git")); + } + +} diff --git a/src/test/java/pl/project13/maven/git/GitSubmodulesTest.java b/src/test/java/pl/project13/maven/git/GitSubmodulesTest.java new file mode 100644 index 0000000..de8e029 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/GitSubmodulesTest.java @@ -0,0 +1,88 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import org.apache.maven.project.MavenProject; +import org.jetbrains.annotations.NotNull; +import org.junit.Test; +import pl.project13.maven.git.FileSystemMavenSandbox.CleanUp; + +import java.io.File; +import java.util.Properties; + +import static org.fest.assertions.Assertions.assertThat; +import static org.mockito.internal.util.reflection.Whitebox.setInternalState; + +public class GitSubmodulesTest extends GitIntegrationTest { + + @Test + public void shouldResolvePropertiesOnDefaultSettingsForNonPomProject() throws Exception { + mavenSandbox + .withParentProject("my-jar-project", "jar") + .withGitRepoInParent(AvailableGitTestRepo.WITH_SUBMODULES) + .withChildProject("example-child", "jar") + .create(CleanUp.CLEANUP_FIRST); + + MavenProject targetProject = mavenSandbox.getChildProject(); + setProjectToExecuteMojoIn(targetProject); + + // when + mojo.execute(); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + public void setProjectToExecuteMojoIn(@NotNull MavenProject project) { + setInternalState(mojo, "project", project); + setInternalState(mojo, "dotGitDirectory", new File(project.getBasedir(), ".git")); + } + + private void assertGitPropertiesPresentInProject(Properties properties) { + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.branch")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.abbrev")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.full")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.short")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.remote.origin.url")); + } + +} diff --git a/src/test/java/pl/project13/maven/git/NaivePerformanceTest.java b/src/test/java/pl/project13/maven/git/NaivePerformanceTest.java new file mode 100644 index 0000000..ba81620 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/NaivePerformanceTest.java @@ -0,0 +1,109 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.maven.git; + +import junitparams.JUnitParamsRunner; +import junitparams.Parameters; +import org.apache.maven.project.MavenProject; +import org.junit.Test; +import org.junit.Ignore; +import org.junit.runner.RunWith; +import pl.project13.maven.git.FileSystemMavenSandbox.CleanUp; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Properties; + +import static org.fest.assertions.Assertions.assertThat; +import static org.mockito.internal.util.reflection.Whitebox.setInternalState; + +@RunWith(JUnitParamsRunner.class) +public class NaivePerformanceTest extends GitIntegrationTest { + + static final boolean UseJGit = false; + static final boolean UseNativeGit = true; + + public static Collection performanceParameter() { + + return Arrays.asList(new Object[][]{ + {UseJGit, 10}, + {UseNativeGit, 10}, + {UseJGit, 100}, + {UseNativeGit, 100} + }); + } + + @Test + @Parameters(method = "performanceParameter") + @Ignore("Naive performance test - run this locally") + public void performance(boolean useNativeGit, int iterations) throws Exception { + // given + mavenSandbox.withParentProject("my-pom-project", "pom") + .withChildProject("my-jar-module", "jar") + .withGitRepoInChild(AvailableGitTestRepo.MAVEN_GIT_COMMIT_ID_PLUGIN) + .create(CleanUp.CLEANUP_FIRST); + MavenProject targetProject = mavenSandbox.getChildProject(); + + setProjectToExecuteMojoIn(targetProject); + + GitDescribeConfig gitDescribeConfig = createGitDescribeConfig(true, 7); + gitDescribeConfig.setAlways(true); + alterMojoSettings("gitDescribe", gitDescribeConfig); + alterMojoSettings("useNativeGit", useNativeGit); + + // when + long startTime = System.currentTimeMillis(); + for (int i = 0; i < iterations; i++) { + mojo.execute(); + } + long estimatedTime = System.currentTimeMillis() - startTime; + System.out.println("[***] Iterations: " + iterations + " Avg. time: " + ((double) estimatedTime) + " ms for useNativeGit=" + useNativeGit); + + // then + assertGitPropertiesPresentInProject(targetProject.getProperties()); + } + + + private GitDescribeConfig createGitDescribeConfig(boolean forceLongFormat, int abbrev) { + GitDescribeConfig gitDescribeConfig = new GitDescribeConfig(); + gitDescribeConfig.setTags(true); + gitDescribeConfig.setForceLongFormat(forceLongFormat); + gitDescribeConfig.setAbbrev(abbrev); + return gitDescribeConfig; + } + + private void alterMojoSettings(String parameterName, Object parameterValue) { + setInternalState(mojo, parameterName, parameterValue); + } + + private void assertGitPropertiesPresentInProject(Properties properties) { + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.branch")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.abbrev")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.id.describe")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.build.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.name")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.user.email")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.full")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.message.short")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.commit.time")); + assertThat(properties).satisfies(new ContainsKeyCondition("git.remote.origin.url")); + } +} diff --git a/src/test/java/pl/project13/maven/git/log/MavenLoggerBridgeTest.java b/src/test/java/pl/project13/maven/git/log/MavenLoggerBridgeTest.java new file mode 100644 index 0000000..fc43ee9 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/log/MavenLoggerBridgeTest.java @@ -0,0 +1,30 @@ +package pl.project13.maven.git.log; + +import org.apache.maven.plugin.logging.Log; +import org.junit.Test; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; + +public class MavenLoggerBridgeTest { + + Log logger = mock(Log.class); + + MavenLoggerBridge bridge = new MavenLoggerBridge(logger, true); + + @Test + public void shouldNotFailWhenMessageContainsPercentSigns() throws Exception { + // given + String start = "the output was: ["; + String content = "100% coverage!!!"; + String end = "]"; + String expectedExplicit = "the output was: [ 100% coverage!!! ]"; + + // when + bridge.log(start, content, end); + + // then + verify(logger).info(expectedExplicit); + } + +} diff --git a/src/test/java/pl/project13/maven/git/log/StdOutLoggerBridgeTest.java b/src/test/java/pl/project13/maven/git/log/StdOutLoggerBridgeTest.java new file mode 100644 index 0000000..85a4599 --- /dev/null +++ b/src/test/java/pl/project13/maven/git/log/StdOutLoggerBridgeTest.java @@ -0,0 +1,29 @@ +package pl.project13.maven.git.log; + +import org.junit.Test; + +public class StdOutLoggerBridgeTest { + + @Test + public void log_shouldNotFailWhenMessageContainsPercentSign() throws Exception { + // given + StdOutLoggerBridge bridge = new StdOutLoggerBridge(true); + + // when + bridge.log(); + + // then, should not have thrown + } + + @Test + public void error_shouldNotFailWhenMessageContainsPercentSign() throws Exception { + // given + StdOutLoggerBridge bridge = new StdOutLoggerBridge(true); + + // when + bridge.error(); + + // then, should not have thrown + } + +} diff --git a/src/test/java/pl/project13/test/utils/AssertException.java b/src/test/java/pl/project13/test/utils/AssertException.java new file mode 100644 index 0000000..510e587 --- /dev/null +++ b/src/test/java/pl/project13/test/utils/AssertException.java @@ -0,0 +1,148 @@ +/* + * This file is part of git-commit-id-plugin by Konrad Malawski + * + * git-commit-id-plugin is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * git-commit-id-plugin is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with git-commit-id-plugin. If not, see . + */ + +package pl.project13.test.utils; + +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.junit.Assert; + +import static pl.project13.test.utils.AssertException.ExceptionMatch.EXCEPTION_CLASS_MUST_EQUAL; + +/** + * Allows expecting and intercepting exceptions in a nice way. + * Use it to intercept exceptions in your tests, in a way that allows + * sticking to the given/when/then flow, and validate exception throws on + *

+ * SoftwareBirr 02.2012 + * + * @author Konrad Malawski (konrad.malawski@java.pl) + * @see AssertException in softwaremill-common/softwaremill-test-util + */ +public class AssertException { + + public static interface CodeBlock { + void run() throws Exception; + } + + public static abstract class ExceptionMatch { + + public static final ExceptionMatch.Strategy EXCEPTION_CLASS_MUST_EQUAL = new Strategy() { + @Override + public boolean matchesExpected(Class expectedClass, @NotNull Throwable got, String expectedMessage) { + return got.getClass().equals(expectedClass); + } + + public void failWithExpectedButGot(@NotNull Class expectedClass, @NotNull Throwable got, String expectedMessage) { + Assert.fail(String.format("Expected [%s] to be thrown but got [%s]", expectedClass.getSimpleName(), got.getClass().getSimpleName())); + } + }; + + /** + * Please use EXCEPTION_CLASS_MUST_EQUAL instead + */ + @Deprecated + public static final ExceptionMatch.Strategy EXCEPTION_MUST_EQUAL = EXCEPTION_CLASS_MUST_EQUAL; + + public static final ExceptionMatch.Strategy EXCEPTION_MAY_BE_SUBCLASS_OF = new Strategy() { + @Override + public boolean matchesExpected(@NotNull Class expectedClass, @NotNull Throwable got, String expectedMessage) { + return expectedClass.isAssignableFrom(got.getClass()); + } + + public void failWithExpectedButGot(@NotNull Class expectedClass, @NotNull Throwable got, String expectedMessage) { + Assert.fail(String.format("Expected subclass of [%s] to be thrown but got [%s]", expectedClass.getSimpleName(), got.getClass().getSimpleName())); + } + }; + + public static final ExceptionMatch.Strategy EXCEPTION_CLASS_AND_MESSAGE_MUST_EQUAL = new Strategy() { + @Override + public boolean matchesExpected(Class expectedClass, @NotNull Throwable got, @NotNull String expectedMessage) { + return got.getClass().equals(expectedClass) && expectedMessage.equals(got.getMessage()); + } + + public void failWithExpectedButGot(@NotNull Class expectedClass, @NotNull Throwable got, String expectedMessage) { + Assert.fail(String.format("Expected [%s] to be thrown with message [%s] but got [%s] with message [%s]", expectedClass.getSimpleName(), + expectedMessage, got.getClass().getSimpleName(), got.getMessage())); + } + }; + + static interface Strategy { + boolean matchesExpected(Class expectedClass, Throwable got, String expectedMessage); + + void failWithExpectedButGot(Class expectedClass, Throwable got, String expectedMessage); + } + } + + @SuppressWarnings("ThrowableResultOfMethodCallIgnored") + public static void thrown(@NotNull ExceptionMatch.Strategy matchStrategy, + @NotNull Class expectedThrowableClass, + @NotNull CodeBlock block) { + intercept(matchStrategy, expectedThrowableClass, block); + } + + @SuppressWarnings("ThrowableResultOfMethodCallIgnored") + public static void thrownWithMessage(@NotNull ExceptionMatch.Strategy matchStrategy, + @NotNull Class expectedThrowableClass, String expectedMessage, + @NotNull CodeBlock block) { + intercept(matchStrategy, expectedThrowableClass, expectedMessage, block); + } + + public static void thrown(@NotNull Class expectedThrowableClass, + @NotNull CodeBlock block) { + thrown(EXCEPTION_CLASS_MUST_EQUAL, expectedThrowableClass, block); + } + + @Nullable + public static T intercept(@NotNull Class expectedThrowableClass, + @NotNull CodeBlock block) { + return intercept(EXCEPTION_CLASS_MUST_EQUAL, expectedThrowableClass, block); + } + + @Nullable + public static T intercept(@NotNull ExceptionMatch.Strategy matchStrategy, + @NotNull Class expectedThrowableClass, + @NotNull CodeBlock block) { + return intercept(matchStrategy, expectedThrowableClass, null, block); + } + + @Nullable + public static T intercept(@NotNull ExceptionMatch.Strategy matchStrategy, + @NotNull Class expectedThrowableClass, @Nullable String expectedMessage, + @NotNull CodeBlock block) { + try { + block.run(); + + failWithExpectedButGotNothing(expectedThrowableClass); // will throw + return null; // make compiler happy + + } catch (Throwable thr) { + boolean gotExpectedException = matchStrategy.matchesExpected(expectedThrowableClass, thr, expectedMessage); + if (gotExpectedException) { + return expectedThrowableClass.cast(thr); + } else { + matchStrategy.failWithExpectedButGot(expectedThrowableClass, thr, expectedMessage); + return null; // make compiler happy + } + } + } + + private static void failWithExpectedButGotNothing(@NotNull Class expected) { + Assert.fail(String.format("Expected [%s] to be thrown but no exception was thrown.", expected.getSimpleName())); + } + +} \ No newline at end of file diff --git a/src/test/resources/README.md b/src/test/resources/README.md new file mode 100644 index 0000000..a0f2f40 --- /dev/null +++ b/src/test/resources/README.md @@ -0,0 +1,3 @@ +Commited .git directories, wtf?! +-------------------------------- +Those are used during **integration tests** - now it doesn't sound silly but rather awesome, right? ;-) diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/COMMIT_EDITMSG b/src/test/resources/_git_lightweight_tag_before_annotated_tag/COMMIT_EDITMSG new file mode 100644 index 0000000..0d91be5 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/COMMIT_EDITMSG @@ -0,0 +1,9 @@ +third addition +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# On branch master +# Changes to be committed: +# (use "git reset HEAD ..." to unstage) +# +# modified: it +# diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/HEAD b/src/test/resources/_git_lightweight_tag_before_annotated_tag/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/config b/src/test/resources/_git_lightweight_tag_before_annotated_tag/config new file mode 100644 index 0000000..af10792 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/description b/src/test/resources/_git_lightweight_tag_before_annotated_tag/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/applypatch-msg.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/commit-msg.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/post-update.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-applypatch.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-commit.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-rebase.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-rebase.sample new file mode 100755 index 0000000..16b4794 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /opt/local/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/prepare-commit-msg.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..d0a7248 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /opt/local/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /opt/local/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/update.sample b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/index b/src/test/resources/_git_lightweight_tag_before_annotated_tag/index new file mode 100644 index 0000000..52bd681 Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/index differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/info/exclude b/src/test/resources/_git_lightweight_tag_before_annotated_tag/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/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/src/test/resources/_git_lightweight_tag_before_annotated_tag/logs/HEAD b/src/test/resources/_git_lightweight_tag_before_annotated_tag/logs/HEAD new file mode 100644 index 0000000..29a70f1 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/logs/HEAD @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 95975455ef2b1af048f2926b9ba7fb804e22171b Konrad Malawski 1345901379 +0200 commit (initial): initial commit +95975455ef2b1af048f2926b9ba7fb804e22171b d37a598a7a98531ad1375966642c6b1263129436 Konrad Malawski 1345901396 +0200 commit: second line +d37a598a7a98531ad1375966642c6b1263129436 b6a73ed747dd8dc98642d731ddbf09824efb9d48 Konrad Malawski 1345901523 +0200 commit: third addition diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/logs/refs/heads/master b/src/test/resources/_git_lightweight_tag_before_annotated_tag/logs/refs/heads/master new file mode 100644 index 0000000..29a70f1 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/logs/refs/heads/master @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 95975455ef2b1af048f2926b9ba7fb804e22171b Konrad Malawski 1345901379 +0200 commit (initial): initial commit +95975455ef2b1af048f2926b9ba7fb804e22171b d37a598a7a98531ad1375966642c6b1263129436 Konrad Malawski 1345901396 +0200 commit: second line +d37a598a7a98531ad1375966642c6b1263129436 b6a73ed747dd8dc98642d731ddbf09824efb9d48 Konrad Malawski 1345901523 +0200 commit: third addition diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/61/ccc0904609773ec1342dd7640f3b7e8ddb9f2b b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/61/ccc0904609773ec1342dd7640f3b7e8ddb9f2b new file mode 100644 index 0000000..dbff3cb Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/61/ccc0904609773ec1342dd7640f3b7e8ddb9f2b differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/6d/af66eea8f78d4f8ab1337f214949a4fc097869 b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/6d/af66eea8f78d4f8ab1337f214949a4fc097869 new file mode 100644 index 0000000..ab2521f Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/6d/af66eea8f78d4f8ab1337f214949a4fc097869 differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/88/2476235ef06c5f2cc59325a04ba761988cde36 b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/88/2476235ef06c5f2cc59325a04ba761988cde36 new file mode 100644 index 0000000..90f1945 Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/88/2476235ef06c5f2cc59325a04ba761988cde36 differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/95/975455ef2b1af048f2926b9ba7fb804e22171b b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/95/975455ef2b1af048f2926b9ba7fb804e22171b new file mode 100644 index 0000000..0177489 Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/95/975455ef2b1af048f2926b9ba7fb804e22171b differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/b6/a73ed747dd8dc98642d731ddbf09824efb9d48 b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/b6/a73ed747dd8dc98642d731ddbf09824efb9d48 new file mode 100644 index 0000000..9dbb4bc Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/b6/a73ed747dd8dc98642d731ddbf09824efb9d48 differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/b9/c7d2fd2d966bc133dca9309bdf07b106e3c24b b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/b9/c7d2fd2d966bc133dca9309bdf07b106e3c24b new file mode 100644 index 0000000..b187667 Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/b9/c7d2fd2d966bc133dca9309bdf07b106e3c24b differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d3/7a598a7a98531ad1375966642c6b1263129436 b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d3/7a598a7a98531ad1375966642c6b1263129436 new file mode 100644 index 0000000..da741b6 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d3/7a598a7a98531ad1375966642c6b1263129436 @@ -0,0 +1,2 @@ +xMj0 @} +[CȎDIq Cox}_$EsYR.C )(VjCQ$L*gAtUc ѿM·HyJphi)/~,_OP \ No newline at end of file diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d3/abc1fbcd51cb94417d372800f4d3011e766b5c b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d3/abc1fbcd51cb94417d372800f4d3011e766b5c new file mode 100644 index 0000000..cfd94c1 Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d3/abc1fbcd51cb94417d372800f4d3011e766b5c differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d8/e7c365bb6cf6305194444ce4fb3f380a62930d b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d8/e7c365bb6cf6305194444ce4fb3f380a62930d new file mode 100644 index 0000000..0a53d19 Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/d8/e7c365bb6cf6305194444ce4fb3f380a62930d differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/e4/f1ea5178a7d2ebf53277503fa1ae2ae7ffa546 b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/e4/f1ea5178a7d2ebf53277503fa1ae2ae7ffa546 new file mode 100644 index 0000000..80d629b Binary files /dev/null and b/src/test/resources/_git_lightweight_tag_before_annotated_tag/objects/e4/f1ea5178a7d2ebf53277503fa1ae2ae7ffa546 differ diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/heads/master b/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/heads/master new file mode 100644 index 0000000..bad2097 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/heads/master @@ -0,0 +1 @@ +b6a73ed747dd8dc98642d731ddbf09824efb9d48 diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/tags/annotated-tag b/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/tags/annotated-tag new file mode 100644 index 0000000..ef51d68 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/tags/annotated-tag @@ -0,0 +1 @@ +882476235ef06c5f2cc59325a04ba761988cde36 diff --git a/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/tags/lightweight-tag b/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/tags/lightweight-tag new file mode 100644 index 0000000..b011450 --- /dev/null +++ b/src/test/resources/_git_lightweight_tag_before_annotated_tag/refs/tags/lightweight-tag @@ -0,0 +1 @@ +d37a598a7a98531ad1375966642c6b1263129436 diff --git a/src/test/resources/_git_of_git_commit_id/COMMIT_EDITMSG b/src/test/resources/_git_of_git_commit_id/COMMIT_EDITMSG new file mode 100644 index 0000000..f085d68 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/COMMIT_EDITMSG @@ -0,0 +1,21 @@ +our own Pair + using `--always` +refs + +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# On branch master +# Your branch is ahead of 'origin/master' by 1 commit. +# +# Changes to be committed: +# (use "git reset HEAD^1 ..." to unstage) +# +# modified: src/main/java/pl/project13/jgit/DescribeCommand.java +# modified: src/main/java/pl/project13/jgit/DescribeResult.java +# new file: src/main/java/pl/project13/maven/git/util/Pair.java +# +# Changes not staged for commit: +# (use "git add ..." to update what will be committed) +# (use "git checkout -- ..." to discard changes in working directory) +# +# modified: src/test/java/pl/project13/maven/git/TemporaryMavenProject.java +# diff --git a/src/test/resources/_git_of_git_commit_id/FETCH_HEAD b/src/test/resources/_git_of_git_commit_id/FETCH_HEAD new file mode 100644 index 0000000..fe0706d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/FETCH_HEAD @@ -0,0 +1 @@ +86d27d701eceaa868cc9c0bf77087aefc0d8cf65 branch 'master' of github.com:ktoso/maven-git-commit-id-plugin diff --git a/src/test/resources/_git_of_git_commit_id/HEAD b/src/test/resources/_git_of_git_commit_id/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_of_git_commit_id/ORIG_HEAD b/src/test/resources/_git_of_git_commit_id/ORIG_HEAD new file mode 100644 index 0000000..c93357d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/ORIG_HEAD @@ -0,0 +1 @@ +a3575137db7559e64e252c9d87e64b31bdd6ec3e diff --git a/src/test/resources/_git_of_git_commit_id/config b/src/test/resources/_git_of_git_commit_id/config new file mode 100644 index 0000000..b9e75db --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/config @@ -0,0 +1,17 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true +[remote "origin"] + fetch = +refs/heads/*:refs/remotes/origin/* + url = git@github.com:ktoso/maven-git-commit-id-plugin.git +[branch "master"] + remote = origin + merge = refs/heads/master +[remote "mostr"] + url = https://github.com/mostr/maven-git-commit-id-plugin.git + fetch = +refs/heads/*:refs/remotes/mostr/* +[branch "mostr_refactor_gitdir_lookup"] + remote = mostr + merge = refs/heads/refactor_gitdir_lookup diff --git a/src/test/resources/_git_of_git_commit_id/description b/src/test/resources/_git_of_git_commit_id/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_of_git_commit_id/hooks/applypatch-msg.sample b/src/test/resources/_git_of_git_commit_id/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_of_git_commit_id/hooks/commit-msg.sample b/src/test/resources/_git_of_git_commit_id/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_of_git_commit_id/hooks/post-update.sample b/src/test/resources/_git_of_git_commit_id/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_of_git_commit_id/hooks/pre-applypatch.sample b/src/test/resources/_git_of_git_commit_id/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_of_git_commit_id/hooks/pre-commit.sample b/src/test/resources/_git_of_git_commit_id/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_of_git_commit_id/hooks/pre-rebase.sample b/src/test/resources/_git_of_git_commit_id/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_of_git_commit_id/hooks/prepare-commit-msg.sample b/src/test/resources/_git_of_git_commit_id/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_of_git_commit_id/hooks/update.sample b/src/test/resources/_git_of_git_commit_id/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_of_git_commit_id/index b/src/test/resources/_git_of_git_commit_id/index new file mode 100644 index 0000000..6c03d36 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/index differ diff --git a/src/test/resources/_git_of_git_commit_id/info/exclude b/src/test/resources/_git_of_git_commit_id/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/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/src/test/resources/_git_of_git_commit_id/logs/HEAD b/src/test/resources/_git_of_git_commit_id/logs/HEAD new file mode 100644 index 0000000..507e82f --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/HEAD @@ -0,0 +1,61 @@ +0000000000000000000000000000000000000000 4266d244c6308f0347a13fd8761dbc532b271ca5 Konrad Malawski 1324731667 +0100 clone: from git@github.com:ktoso/maven-git-commit-id-plugin.git +4266d244c6308f0347a13fd8761dbc532b271ca5 c444c5bf965d02c70356137ae1acd7b981915114 Konrad Malawski 1324736437 +0100 commit: updated jgit version +c444c5bf965d02c70356137ae1acd7b981915114 e2d4fb2d63fb0f25ae168281d7dadfeb131bc110 Konrad Malawski 1324736530 +0100 commit: [maven-release-plugin] prepare release v2.0 +e2d4fb2d63fb0f25ae168281d7dadfeb131bc110 f238a51a0c4dbfba0ca1087496670b2a3e1c1a4c Konrad Malawski 1324736538 +0100 commit: [maven-release-plugin] prepare for next development iteration +f238a51a0c4dbfba0ca1087496670b2a3e1c1a4c 2e1832a5a66f932f3a12ca8755f6ec2a6c425428 Konrad Malawski 1324736718 +0100 commit: [maven-release-plugin] prepare release v2.0.1 +2e1832a5a66f932f3a12ca8755f6ec2a6c425428 f9597b2f0b581bcf5c1dd435b81cd6e09e5c621f Konrad Malawski 1324736738 +0100 commit: [maven-release-plugin] prepare for next development iteration +f9597b2f0b581bcf5c1dd435b81cd6e09e5c621f 67460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 Konrad Malawski 1325875696 +0100 commit: added support for forcing the plugin to run on pom packaged projects +67460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 1006068bfa171395ba875c02506eafcdc905aec0 Konrad Malawski 1329983761 +0100 commit: fix for multimodule projects, as SvS suggested +1006068bfa171395ba875c02506eafcdc905aec0 6a738324177546f10e1381284da685a51bef856f Konrad Malawski 1329983778 +0100 checkout: moving from master to 6a738324177546f10e1381284da685a51bef856f^0 +6a738324177546f10e1381284da685a51bef856f c61bfc2dc1b3d3515220f123d6258e4a1f6de95a Konrad Malawski 1329983778 +0100 rebase: fix for multimodule projects, as SvS suggested +c61bfc2dc1b3d3515220f123d6258e4a1f6de95a 91051645416518379179bfb5f2e06f4a066a03c2 Konrad Malawski 1330183414 +0100 commit: adding travis +91051645416518379179bfb5f2e06f4a066a03c2 7decb421bc38a486eb7be3edbc10d8aed085e114 Konrad Malawski 1330183427 +0100 checkout: moving from master to 7decb421bc38a486eb7be3edbc10d8aed085e114^0 +7decb421bc38a486eb7be3edbc10d8aed085e114 2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 Konrad Malawski 1330183427 +0100 pull --rebase: adding travis +2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 Konrad Malawski 1330183427 +0100 rebase finished: returning to refs/heads/master +2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 ca77c2de57e1ae72add31a7216200288359fccf4 Konrad Malawski 1341217068 +0200 checkout: moving from master to ca77c2de57e1ae72add31a7216200288359fccf4^0 +ca77c2de57e1ae72add31a7216200288359fccf4 a3b884764845d40ab1a1abdc293825ae0da55bb8 Konrad Malawski 1341217891 +0200 commit: [maven-release-plugin] prepare release v2.0.4 +a3b884764845d40ab1a1abdc293825ae0da55bb8 cca0fe43ebfd188504592cc5dab9db8319e7609d Konrad Malawski 1341217897 +0200 commit: [maven-release-plugin] prepare for next development iteration +cca0fe43ebfd188504592cc5dab9db8319e7609d 7ae0a659349400afa26e0fcf00d59cdc5446c7f0 Konrad Malawski 1345056474 +0200 checkout: moving from master to 7ae0a659349400afa26e0fcf00d59cdc5446c7f0^0 +7ae0a659349400afa26e0fcf00d59cdc5446c7f0 7ae0a659349400afa26e0fcf00d59cdc5446c7f0 Konrad Malawski 1345056474 +0200 rebase finished: returning to refs/heads/master +7ae0a659349400afa26e0fcf00d59cdc5446c7f0 d1f83562596af27cfcaaa0f6d87b24c8a56c1703 Konrad Malawski 1345059172 +0200 commit: nicer test failure +d1f83562596af27cfcaaa0f6d87b24c8a56c1703 b646389e690cf71fd75c83c2aa8949d6e550db49 Konrad Malawski 1345062387 +0200 commit: nicer test failure +b646389e690cf71fd75c83c2aa8949d6e550db49 c8ff632df6d6ab362ec02cc1b20a527f69ca741d Konrad Malawski 1345062435 +0200 commit: minor cleanup +c8ff632df6d6ab362ec02cc1b20a527f69ca741d affad5022ca2549d53cfc344d9aac497aa8e1e12 Konrad Malawski 1345064510 +0200 checkout: moving from master to affad5022ca2549d53cfc344d9aac497aa8e1e12^0 +affad5022ca2549d53cfc344d9aac497aa8e1e12 c8ff632df6d6ab362ec02cc1b20a527f69ca741d Konrad Malawski 1345064712 +0200 rebase: aborting +c8ff632df6d6ab362ec02cc1b20a527f69ca741d 33ad86f74c66323455de935ea5ab63082b248204 Konrad Malawski 1345064742 +0200 checkout: moving from master to mostr_refactor_gitdir_lookup +33ad86f74c66323455de935ea5ab63082b248204 3c7dbd226418ad742b89ce73d86900b18d41dbb2 Konrad Malawski 1345064877 +0200 commit: global reformat, to fit projects formatting +3c7dbd226418ad742b89ce73d86900b18d41dbb2 c8ff632df6d6ab362ec02cc1b20a527f69ca741d Konrad Malawski 1345064889 +0200 checkout: moving from mostr_refactor_gitdir_lookup to master +c8ff632df6d6ab362ec02cc1b20a527f69ca741d 3c7dbd226418ad742b89ce73d86900b18d41dbb2 Konrad Malawski 1345064903 +0200 checkout: moving from master to mostr_refactor_gitdir_lookup +3c7dbd226418ad742b89ce73d86900b18d41dbb2 c8ff632df6d6ab362ec02cc1b20a527f69ca741d Konrad Malawski 1345064906 +0200 checkout: moving from mostr_refactor_gitdir_lookup to c8ff632df6d6ab362ec02cc1b20a527f69ca741d^0 +c8ff632df6d6ab362ec02cc1b20a527f69ca741d 6b724f7a9f28cf24db72f6d31c1f407f965804c0 Konrad Malawski 1345064906 +0200 rebase: gitignore eclipse specific files +6b724f7a9f28cf24db72f6d31c1f407f965804c0 07d3c8682c6932c7e1ebaa12ef4aa2370bb47dbe Konrad Malawski 1345064906 +0200 rebase: update to new jgit and junit dependency versions +07d3c8682c6932c7e1ebaa12ef4aa2370bb47dbe 79e5157dcfff69af5c7cb59f1eeaae12255e3fba Konrad Malawski 1345064932 +0200 rebase: integration test with default settings +79e5157dcfff69af5c7cb59f1eeaae12255e3fba 07751578e7ed568acb2418f4a2748de6d24c73c8 Konrad Malawski 1345064932 +0200 rebase: few more integration tests +07751578e7ed568acb2418f4a2748de6d24c73c8 2380a899905ee320c55c41789c75b6a36f6ea8f8 Konrad Malawski 1345065479 +0200 rebase: refactored to parametrized method +2380a899905ee320c55c41789c75b6a36f6ea8f8 3a3b2b6dbad13bdccebeb1aeb24bf3c4d0c00a8f Konrad Malawski 1345065550 +0200 rebase: refactored to GitDirLocator +3a3b2b6dbad13bdccebeb1aeb24bf3c4d0c00a8f 82648ff591d5e40c7c39473f92e566c093ff5fc5 Konrad Malawski 1345065596 +0200 rebase: global reformat, to fit projects formatting +82648ff591d5e40c7c39473f92e566c093ff5fc5 82648ff591d5e40c7c39473f92e566c093ff5fc5 Konrad Malawski 1345065596 +0200 rebase finished: returning to refs/heads/mostr_refactor_gitdir_lookup +82648ff591d5e40c7c39473f92e566c093ff5fc5 c8ff632df6d6ab362ec02cc1b20a527f69ca741d Konrad Malawski 1345065713 +0200 checkout: moving from mostr_refactor_gitdir_lookup to master +c8ff632df6d6ab362ec02cc1b20a527f69ca741d 86d27d701eceaa868cc9c0bf77087aefc0d8cf65 Konrad Malawski 1345065749 +0200 checkout: moving from master to 86d27d701eceaa868cc9c0bf77087aefc0d8cf65^0 +86d27d701eceaa868cc9c0bf77087aefc0d8cf65 d59921ca7da2a1441e814667ff58bb2dbb502c53 Konrad Malawski 1345065750 +0200 pull --rebase: nicer test failure +d59921ca7da2a1441e814667ff58bb2dbb502c53 acab0669c27146e5f98441ba39e527890e49a5d6 Konrad Malawski 1345065750 +0200 pull --rebase: nicer test failure +acab0669c27146e5f98441ba39e527890e49a5d6 01468eddbf23a8331fe91380b888d8a62457cec7 Konrad Malawski 1345065780 +0200 rebase: minor cleanup +01468eddbf23a8331fe91380b888d8a62457cec7 01468eddbf23a8331fe91380b888d8a62457cec7 Konrad Malawski 1345065780 +0200 rebase finished: returning to refs/heads/master +01468eddbf23a8331fe91380b888d8a62457cec7 85818dd10bda666cd2fb4eabdc0b71040f3301cf Konrad Malawski 1345065808 +0200 commit: reformat to projects style +85818dd10bda666cd2fb4eabdc0b71040f3301cf 5a0239b212258b4cb672e5e954757304a08cf2a1 Konrad Malawski 1345065817 +0200 commit (amend): reformat to projects style +5a0239b212258b4cb672e5e954757304a08cf2a1 7a51c168c0d247e5d6bc2227ee654cc9cc89c782 Konrad Malawski 1345068940 +0200 commit: manual merge of "GitDirLocator" branch by @mostr +7a51c168c0d247e5d6bc2227ee654cc9cc89c782 a3575137db7559e64e252c9d87e64b31bdd6ec3e Konrad Malawski 1345068991 +0200 commit: minor cleanups and refactors +a3575137db7559e64e252c9d87e64b31bdd6ec3e 5a0239b212258b4cb672e5e954757304a08cf2a1 Konrad Malawski 1345069053 +0200 checkout: moving from master to 5a0239b +5a0239b212258b4cb672e5e954757304a08cf2a1 7a51c168c0d247e5d6bc2227ee654cc9cc89c782 Konrad Malawski 1345069053 +0200 cherry-pick +7a51c168c0d247e5d6bc2227ee654cc9cc89c782 3cdc93dc60366bead9a278f6a7555b651f26993a Konrad Malawski 1345069053 +0200 rebase -i (reword): manual merge of "GitDirLocator" branch by @mostr +3cdc93dc60366bead9a278f6a7555b651f26993a b806407dc2442bcbe63b0b1b4d414f553648ade6 Konrad Malawski 1345069067 +0200 rebase -i (pick): minor cleanups and refactors +b806407dc2442bcbe63b0b1b4d414f553648ade6 b806407dc2442bcbe63b0b1b4d414f553648ade6 Konrad Malawski 1345069067 +0200 rebase -i (finish): returning to refs/heads/master +b806407dc2442bcbe63b0b1b4d414f553648ade6 060ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 Konrad Malawski 1345308176 +0200 commit: i just can't live without Optionals ;-) +060ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 d2f3939f870f570ab7aa39f8b53be98467114969 Konrad Malawski 1345323994 +0200 commit: should be public +d2f3939f870f570ab7aa39f8b53be98467114969 11fd252e20b7e420eca67a672d06abf24bdae5ae Konrad Malawski 1345331175 +0200 commit: example git repositories, for multiple cases +11fd252e20b7e420eca67a672d06abf24bdae5ae ea2668c79e9410f97da99cdd94f8309aef024b32 Konrad Malawski 1345332538 +0200 commit: reworked integration tests to run on multiple git repositories when needed +ea2668c79e9410f97da99cdd94f8309aef024b32 e8785cceaac786e13bd0dbaf3118f12ed032a369 Konrad Malawski 1345334943 +0200 commit: Initial work on #31, with integration tests +e8785cceaac786e13bd0dbaf3118f12ed032a369 db9cb5757f4af835425c4c6a91b8fa2717533255 Konrad Malawski 1345334958 +0200 commit: include intellij annotations, MUST HAVE @Nullable +db9cb5757f4af835425c4c6a91b8fa2717533255 ace7067505011e6a4ac069732c9ecd9e8c54b23a Konrad Malawski 1345335058 +0200 commit: license headers +ace7067505011e6a4ac069732c9ecd9e8c54b23a e7a1e817341a1d8c959ffe205a0fa064188ac368 Konrad Malawski 1345335636 +0200 commit: our own Pair + using `--always` +e7a1e817341a1d8c959ffe205a0fa064188ac368 7181832b7d9afdeb86c32cf51214abfca63625be Konrad Malawski 1345335647 +0200 commit (amend): our own Pair + using `--always` diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/heads/master b/src/test/resources/_git_of_git_commit_id/logs/refs/heads/master new file mode 100644 index 0000000..4f70b6d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/heads/master @@ -0,0 +1,33 @@ +0000000000000000000000000000000000000000 4266d244c6308f0347a13fd8761dbc532b271ca5 Konrad Malawski 1324731667 +0100 clone: from git@github.com:ktoso/maven-git-commit-id-plugin.git +4266d244c6308f0347a13fd8761dbc532b271ca5 c444c5bf965d02c70356137ae1acd7b981915114 Konrad Malawski 1324736437 +0100 commit: updated jgit version +c444c5bf965d02c70356137ae1acd7b981915114 e2d4fb2d63fb0f25ae168281d7dadfeb131bc110 Konrad Malawski 1324736530 +0100 commit: [maven-release-plugin] prepare release v2.0 +e2d4fb2d63fb0f25ae168281d7dadfeb131bc110 f238a51a0c4dbfba0ca1087496670b2a3e1c1a4c Konrad Malawski 1324736538 +0100 commit: [maven-release-plugin] prepare for next development iteration +f238a51a0c4dbfba0ca1087496670b2a3e1c1a4c 2e1832a5a66f932f3a12ca8755f6ec2a6c425428 Konrad Malawski 1324736718 +0100 commit: [maven-release-plugin] prepare release v2.0.1 +2e1832a5a66f932f3a12ca8755f6ec2a6c425428 f9597b2f0b581bcf5c1dd435b81cd6e09e5c621f Konrad Malawski 1324736738 +0100 commit: [maven-release-plugin] prepare for next development iteration +f9597b2f0b581bcf5c1dd435b81cd6e09e5c621f 67460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 Konrad Malawski 1325875696 +0100 commit: added support for forcing the plugin to run on pom packaged projects +67460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 1006068bfa171395ba875c02506eafcdc905aec0 Konrad Malawski 1329983761 +0100 commit: fix for multimodule projects, as SvS suggested +1006068bfa171395ba875c02506eafcdc905aec0 c61bfc2dc1b3d3515220f123d6258e4a1f6de95a Konrad Malawski 1329983778 +0100 rebase finished: refs/heads/master onto 6a738324177546f10e1381284da685a51bef856f +c61bfc2dc1b3d3515220f123d6258e4a1f6de95a 91051645416518379179bfb5f2e06f4a066a03c2 Konrad Malawski 1330183414 +0100 commit: adding travis +91051645416518379179bfb5f2e06f4a066a03c2 2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 Konrad Malawski 1330183427 +0100 rebase finished: refs/heads/master onto 7decb421bc38a486eb7be3edbc10d8aed085e114 +2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 ca77c2de57e1ae72add31a7216200288359fccf4 Konrad Malawski 1341217068 +0200 rebase finished: refs/heads/master onto ca77c2de57e1ae72add31a7216200288359fccf4 +ca77c2de57e1ae72add31a7216200288359fccf4 a3b884764845d40ab1a1abdc293825ae0da55bb8 Konrad Malawski 1341217891 +0200 commit: [maven-release-plugin] prepare release v2.0.4 +a3b884764845d40ab1a1abdc293825ae0da55bb8 cca0fe43ebfd188504592cc5dab9db8319e7609d Konrad Malawski 1341217897 +0200 commit: [maven-release-plugin] prepare for next development iteration +cca0fe43ebfd188504592cc5dab9db8319e7609d 7ae0a659349400afa26e0fcf00d59cdc5446c7f0 Konrad Malawski 1345056474 +0200 rebase finished: refs/heads/master onto 7ae0a659349400afa26e0fcf00d59cdc5446c7f0 +7ae0a659349400afa26e0fcf00d59cdc5446c7f0 d1f83562596af27cfcaaa0f6d87b24c8a56c1703 Konrad Malawski 1345059172 +0200 commit: nicer test failure +d1f83562596af27cfcaaa0f6d87b24c8a56c1703 b646389e690cf71fd75c83c2aa8949d6e550db49 Konrad Malawski 1345062387 +0200 commit: nicer test failure +b646389e690cf71fd75c83c2aa8949d6e550db49 c8ff632df6d6ab362ec02cc1b20a527f69ca741d Konrad Malawski 1345062435 +0200 commit: minor cleanup +c8ff632df6d6ab362ec02cc1b20a527f69ca741d 01468eddbf23a8331fe91380b888d8a62457cec7 Konrad Malawski 1345065780 +0200 rebase finished: refs/heads/master onto 86d27d701eceaa868cc9c0bf77087aefc0d8cf65 +01468eddbf23a8331fe91380b888d8a62457cec7 85818dd10bda666cd2fb4eabdc0b71040f3301cf Konrad Malawski 1345065808 +0200 commit: reformat to projects style +85818dd10bda666cd2fb4eabdc0b71040f3301cf 5a0239b212258b4cb672e5e954757304a08cf2a1 Konrad Malawski 1345065817 +0200 commit (amend): reformat to projects style +5a0239b212258b4cb672e5e954757304a08cf2a1 7a51c168c0d247e5d6bc2227ee654cc9cc89c782 Konrad Malawski 1345068940 +0200 commit: manual merge of "GitDirLocator" branch by @mostr +7a51c168c0d247e5d6bc2227ee654cc9cc89c782 a3575137db7559e64e252c9d87e64b31bdd6ec3e Konrad Malawski 1345068991 +0200 commit: minor cleanups and refactors +a3575137db7559e64e252c9d87e64b31bdd6ec3e b806407dc2442bcbe63b0b1b4d414f553648ade6 Konrad Malawski 1345069067 +0200 rebase -i (finish): refs/heads/master onto 5a0239b +b806407dc2442bcbe63b0b1b4d414f553648ade6 060ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 Konrad Malawski 1345308176 +0200 commit: i just can't live without Optionals ;-) +060ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 d2f3939f870f570ab7aa39f8b53be98467114969 Konrad Malawski 1345323994 +0200 commit: should be public +d2f3939f870f570ab7aa39f8b53be98467114969 11fd252e20b7e420eca67a672d06abf24bdae5ae Konrad Malawski 1345331175 +0200 commit: example git repositories, for multiple cases +11fd252e20b7e420eca67a672d06abf24bdae5ae ea2668c79e9410f97da99cdd94f8309aef024b32 Konrad Malawski 1345332538 +0200 commit: reworked integration tests to run on multiple git repositories when needed +ea2668c79e9410f97da99cdd94f8309aef024b32 e8785cceaac786e13bd0dbaf3118f12ed032a369 Konrad Malawski 1345334943 +0200 commit: Initial work on #31, with integration tests +e8785cceaac786e13bd0dbaf3118f12ed032a369 db9cb5757f4af835425c4c6a91b8fa2717533255 Konrad Malawski 1345334958 +0200 commit: include intellij annotations, MUST HAVE @Nullable +db9cb5757f4af835425c4c6a91b8fa2717533255 ace7067505011e6a4ac069732c9ecd9e8c54b23a Konrad Malawski 1345335058 +0200 commit: license headers +ace7067505011e6a4ac069732c9ecd9e8c54b23a e7a1e817341a1d8c959ffe205a0fa064188ac368 Konrad Malawski 1345335636 +0200 commit: our own Pair + using `--always` +e7a1e817341a1d8c959ffe205a0fa064188ac368 7181832b7d9afdeb86c32cf51214abfca63625be Konrad Malawski 1345335647 +0200 commit (amend): our own Pair + using `--always` diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/heads/mostr_refactor_gitdir_lookup b/src/test/resources/_git_of_git_commit_id/logs/refs/heads/mostr_refactor_gitdir_lookup new file mode 100644 index 0000000..1acbd98 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/heads/mostr_refactor_gitdir_lookup @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 33ad86f74c66323455de935ea5ab63082b248204 Konrad Malawski 1345064742 +0200 branch: Created from mostr/refactor_gitdir_lookup +33ad86f74c66323455de935ea5ab63082b248204 3c7dbd226418ad742b89ce73d86900b18d41dbb2 Konrad Malawski 1345064877 +0200 commit: global reformat, to fit projects formatting +3c7dbd226418ad742b89ce73d86900b18d41dbb2 82648ff591d5e40c7c39473f92e566c093ff5fc5 Konrad Malawski 1345065596 +0200 rebase finished: refs/heads/mostr_refactor_gitdir_lookup onto c8ff632df6d6ab362ec02cc1b20a527f69ca741d diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/fix_custom_file_write b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/fix_custom_file_write new file mode 100644 index 0000000..5f8540c --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/fix_custom_file_write @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 affad5022ca2549d53cfc344d9aac497aa8e1e12 Konrad 1345064494 +0200 fetch --append mostr: storing head diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/integration_tests b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/integration_tests new file mode 100644 index 0000000..2043054 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/integration_tests @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 8a67a9fee3512b9c60820899a865000fbfbe5538 Konrad 1345064494 +0200 fetch --append mostr: storing head diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/master b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/master new file mode 100644 index 0000000..fb65772 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 360ce69f76e95595681644275580615cd6271d01 Konrad 1345064494 +0200 fetch --append mostr: storing head diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/refactor_gitdir_lookup b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/refactor_gitdir_lookup new file mode 100644 index 0000000..944f865 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/mostr/refactor_gitdir_lookup @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 33ad86f74c66323455de935ea5ab63082b248204 Konrad 1345064494 +0200 fetch --append mostr: storing head diff --git a/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/origin/master b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/origin/master new file mode 100644 index 0000000..5979b32 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/logs/refs/remotes/origin/master @@ -0,0 +1,15 @@ +4266d244c6308f0347a13fd8761dbc532b271ca5 c444c5bf965d02c70356137ae1acd7b981915114 Konrad Malawski 1324736455 +0100 update by push +c444c5bf965d02c70356137ae1acd7b981915114 f9597b2f0b581bcf5c1dd435b81cd6e09e5c621f Konrad 1325508723 +0100 pull : fast-forward +f9597b2f0b581bcf5c1dd435b81cd6e09e5c621f 67460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 Konrad Malawski 1325875808 +0100 update by push +67460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 6a738324177546f10e1381284da685a51bef856f Konrad Malawski 1329983777 +0100 fetch origin: fast-forward +6a738324177546f10e1381284da685a51bef856f c61bfc2dc1b3d3515220f123d6258e4a1f6de95a Konrad Malawski 1329983782 +0100 update by push +c61bfc2dc1b3d3515220f123d6258e4a1f6de95a 7decb421bc38a486eb7be3edbc10d8aed085e114 Konrad Malawski 1330183427 +0100 pull --rebase: fast-forward +7decb421bc38a486eb7be3edbc10d8aed085e114 2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 Konrad Malawski 1330183431 +0100 update by push +2e39ea3027a3547abd71c3b6c60c4ca5388b4b68 ca77c2de57e1ae72add31a7216200288359fccf4 Konrad Malawski 1341217068 +0200 pull --rebase: fast-forward +ca77c2de57e1ae72add31a7216200288359fccf4 7ae0a659349400afa26e0fcf00d59cdc5446c7f0 Konrad Malawski 1345056474 +0200 pull --rebase: fast-forward +7ae0a659349400afa26e0fcf00d59cdc5446c7f0 86d27d701eceaa868cc9c0bf77087aefc0d8cf65 Konrad Malawski 1345064492 +0200 fetch --append origin: fast-forward +86d27d701eceaa868cc9c0bf77087aefc0d8cf65 5a0239b212258b4cb672e5e954757304a08cf2a1 Konrad Malawski 1345065830 +0200 update by push +5a0239b212258b4cb672e5e954757304a08cf2a1 b806407dc2442bcbe63b0b1b4d414f553648ade6 Konrad Malawski 1345069074 +0200 update by push +b806407dc2442bcbe63b0b1b4d414f553648ade6 ea2668c79e9410f97da99cdd94f8309aef024b32 Konrad Malawski 1345332547 +0200 update by push +ea2668c79e9410f97da99cdd94f8309aef024b32 db9cb5757f4af835425c4c6a91b8fa2717533255 Konrad Malawski 1345334972 +0200 update by push +db9cb5757f4af835425c4c6a91b8fa2717533255 ace7067505011e6a4ac069732c9ecd9e8c54b23a Konrad Malawski 1345335068 +0200 update by push diff --git a/src/test/resources/_git_of_git_commit_id/objects/00/0220de1afba8bd5230acd1d321390dd18697e8 b/src/test/resources/_git_of_git_commit_id/objects/00/0220de1afba8bd5230acd1d321390dd18697e8 new file mode 100644 index 0000000..37b4a0d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/00/0220de1afba8bd5230acd1d321390dd18697e8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/00/3e60a8d8c6e03d689c5704d3fce3dec37ff473 b/src/test/resources/_git_of_git_commit_id/objects/00/3e60a8d8c6e03d689c5704d3fce3dec37ff473 new file mode 100644 index 0000000..a0969c2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/00/3e60a8d8c6e03d689c5704d3fce3dec37ff473 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/00/461cd0555b8b7bb4ffa49993a03c5883bb7f16 b/src/test/resources/_git_of_git_commit_id/objects/00/461cd0555b8b7bb4ffa49993a03c5883bb7f16 new file mode 100644 index 0000000..20dadce Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/00/461cd0555b8b7bb4ffa49993a03c5883bb7f16 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/00/71801d080af8a6169a6353f1016387ba2836ee b/src/test/resources/_git_of_git_commit_id/objects/00/71801d080af8a6169a6353f1016387ba2836ee new file mode 100644 index 0000000..f743340 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/00/71801d080af8a6169a6353f1016387ba2836ee differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/00/8c580fdee1d91b087a56c362d621f54789e5fd b/src/test/resources/_git_of_git_commit_id/objects/00/8c580fdee1d91b087a56c362d621f54789e5fd new file mode 100644 index 0000000..c05563d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/00/8c580fdee1d91b087a56c362d621f54789e5fd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/00/c6e9e02ae3943ce0ce15c9ed16da65acec5666 b/src/test/resources/_git_of_git_commit_id/objects/00/c6e9e02ae3943ce0ce15c9ed16da65acec5666 new file mode 100644 index 0000000..132b4d0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/00/c6e9e02ae3943ce0ce15c9ed16da65acec5666 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/01d90e97542b18235d06235ad56e8a50268f67 b/src/test/resources/_git_of_git_commit_id/objects/01/01d90e97542b18235d06235ad56e8a50268f67 new file mode 100644 index 0000000..91ccdd5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/01d90e97542b18235d06235ad56e8a50268f67 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/468eddbf23a8331fe91380b888d8a62457cec7 b/src/test/resources/_git_of_git_commit_id/objects/01/468eddbf23a8331fe91380b888d8a62457cec7 new file mode 100644 index 0000000..879802e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/468eddbf23a8331fe91380b888d8a62457cec7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/ba99b4a050879dab7cdbb02ba3ac2e258365e3 b/src/test/resources/_git_of_git_commit_id/objects/01/ba99b4a050879dab7cdbb02ba3ac2e258365e3 new file mode 100644 index 0000000..aa3719b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/ba99b4a050879dab7cdbb02ba3ac2e258365e3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/c8c5f08a1154458ab4d5c7ecbd06c043fc77a9 b/src/test/resources/_git_of_git_commit_id/objects/01/c8c5f08a1154458ab4d5c7ecbd06c043fc77a9 new file mode 100644 index 0000000..0e6539f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/c8c5f08a1154458ab4d5c7ecbd06c043fc77a9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/c9ff3b605eb960fb0ad64e2b95787f0ab8193d b/src/test/resources/_git_of_git_commit_id/objects/01/c9ff3b605eb960fb0ad64e2b95787f0ab8193d new file mode 100644 index 0000000..ace9c4a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/c9ff3b605eb960fb0ad64e2b95787f0ab8193d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/ef9613b56b6fb2783673f4c407f6050daad7fb b/src/test/resources/_git_of_git_commit_id/objects/01/ef9613b56b6fb2783673f4c407f6050daad7fb new file mode 100644 index 0000000..e13e7ee Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/ef9613b56b6fb2783673f4c407f6050daad7fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/01/ffb2b757b01ad9659d5486db14d60266139ea6 b/src/test/resources/_git_of_git_commit_id/objects/01/ffb2b757b01ad9659d5486db14d60266139ea6 new file mode 100644 index 0000000..67ce616 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/01/ffb2b757b01ad9659d5486db14d60266139ea6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/09907e010583ccc6b0c28b827d7d73d91dd396 b/src/test/resources/_git_of_git_commit_id/objects/02/09907e010583ccc6b0c28b827d7d73d91dd396 new file mode 100644 index 0000000..6752963 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/09907e010583ccc6b0c28b827d7d73d91dd396 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/1ff49f7ce7d72d2cd8f74b295573ed181d6176 b/src/test/resources/_git_of_git_commit_id/objects/02/1ff49f7ce7d72d2cd8f74b295573ed181d6176 new file mode 100644 index 0000000..24cf6cc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/1ff49f7ce7d72d2cd8f74b295573ed181d6176 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/230a732a3123e1d7e8f9ea8e54c8a407eda9da b/src/test/resources/_git_of_git_commit_id/objects/02/230a732a3123e1d7e8f9ea8e54c8a407eda9da new file mode 100644 index 0000000..d148350 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/230a732a3123e1d7e8f9ea8e54c8a407eda9da differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/26fc54fb844815e6ca3c4781e93fbc11148e83 b/src/test/resources/_git_of_git_commit_id/objects/02/26fc54fb844815e6ca3c4781e93fbc11148e83 new file mode 100644 index 0000000..77a8555 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/26fc54fb844815e6ca3c4781e93fbc11148e83 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/5b69b37f8b4b628903d1c07f70d90f82a5ec15 b/src/test/resources/_git_of_git_commit_id/objects/02/5b69b37f8b4b628903d1c07f70d90f82a5ec15 new file mode 100644 index 0000000..7a53dee Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/5b69b37f8b4b628903d1c07f70d90f82a5ec15 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/bf030522f240d02834b39bdb88171700fae315 b/src/test/resources/_git_of_git_commit_id/objects/02/bf030522f240d02834b39bdb88171700fae315 new file mode 100644 index 0000000..2a7dd70 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/bf030522f240d02834b39bdb88171700fae315 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/02/ed464110064facf5f690a0243ca68729946b64 b/src/test/resources/_git_of_git_commit_id/objects/02/ed464110064facf5f690a0243ca68729946b64 new file mode 100644 index 0000000..3d3f547 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/02/ed464110064facf5f690a0243ca68729946b64 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/17785a6f4980ed47fbe2af7d019cd651a00b2b b/src/test/resources/_git_of_git_commit_id/objects/03/17785a6f4980ed47fbe2af7d019cd651a00b2b new file mode 100644 index 0000000..51d46ff Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/17785a6f4980ed47fbe2af7d019cd651a00b2b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/23680430a010df3125bf19916da337f5b36fdd b/src/test/resources/_git_of_git_commit_id/objects/03/23680430a010df3125bf19916da337f5b36fdd new file mode 100644 index 0000000..e60554d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/23680430a010df3125bf19916da337f5b36fdd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/4188b4649bf008cca7efb0f4b1cb6c10e696d1 b/src/test/resources/_git_of_git_commit_id/objects/03/4188b4649bf008cca7efb0f4b1cb6c10e696d1 new file mode 100644 index 0000000..3b153dd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/4188b4649bf008cca7efb0f4b1cb6c10e696d1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/4ab6cf1a42ee4e3138c23c935eee2831525d0a b/src/test/resources/_git_of_git_commit_id/objects/03/4ab6cf1a42ee4e3138c23c935eee2831525d0a new file mode 100644 index 0000000..507c484 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/4ab6cf1a42ee4e3138c23c935eee2831525d0a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/76719d360600c9f5920726507c0bfb36de6c3d b/src/test/resources/_git_of_git_commit_id/objects/03/76719d360600c9f5920726507c0bfb36de6c3d new file mode 100644 index 0000000..5781089 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/76719d360600c9f5920726507c0bfb36de6c3d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/823c721077b383dcf6dce6cc3a2a077c389056 b/src/test/resources/_git_of_git_commit_id/objects/03/823c721077b383dcf6dce6cc3a2a077c389056 new file mode 100644 index 0000000..e864dd2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/823c721077b383dcf6dce6cc3a2a077c389056 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/c0142981f301e7e0289df067afb83c1229987f b/src/test/resources/_git_of_git_commit_id/objects/03/c0142981f301e7e0289df067afb83c1229987f new file mode 100644 index 0000000..45382e2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/03/c0142981f301e7e0289df067afb83c1229987f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/03/dad524d116ac2c19b92583808173dd2fd808b4 b/src/test/resources/_git_of_git_commit_id/objects/03/dad524d116ac2c19b92583808173dd2fd808b4 new file mode 100644 index 0000000..b4e37e7 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/03/dad524d116ac2c19b92583808173dd2fd808b4 @@ -0,0 +1 @@ +xKOR01c` 50K00d`j}(|ܹ >ߣDؤ  D0 \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/04/0e740f5a3c4acdc8653ccc2c62bdf1128cc844 b/src/test/resources/_git_of_git_commit_id/objects/04/0e740f5a3c4acdc8653ccc2c62bdf1128cc844 new file mode 100644 index 0000000..af4eac1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/04/0e740f5a3c4acdc8653ccc2c62bdf1128cc844 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/04/1340d0fde182ca6031bfabb5baacc446fb2914 b/src/test/resources/_git_of_git_commit_id/objects/04/1340d0fde182ca6031bfabb5baacc446fb2914 new file mode 100644 index 0000000..c81ee1b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/04/1340d0fde182ca6031bfabb5baacc446fb2914 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/04/3d9c546046fd8e97c51aa441fc04770e35a2e1 b/src/test/resources/_git_of_git_commit_id/objects/04/3d9c546046fd8e97c51aa441fc04770e35a2e1 new file mode 100644 index 0000000..45ca9cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/04/3d9c546046fd8e97c51aa441fc04770e35a2e1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/04/3e00c1f0d420175ea89f1ed5cdd8348f37c58a b/src/test/resources/_git_of_git_commit_id/objects/04/3e00c1f0d420175ea89f1ed5cdd8348f37c58a new file mode 100644 index 0000000..d6a84c0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/04/3e00c1f0d420175ea89f1ed5cdd8348f37c58a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/04/677c9c0ee179dcd3264ef8c2c83961fe7110fe b/src/test/resources/_git_of_git_commit_id/objects/04/677c9c0ee179dcd3264ef8c2c83961fe7110fe new file mode 100644 index 0000000..f57963e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/04/677c9c0ee179dcd3264ef8c2c83961fe7110fe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/04/989da0be04d2e306557842ea3fcd937267338a b/src/test/resources/_git_of_git_commit_id/objects/04/989da0be04d2e306557842ea3fcd937267338a new file mode 100644 index 0000000..1540628 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/04/989da0be04d2e306557842ea3fcd937267338a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/05/36191e197f388e09a0cd1ecee39d22e53fd825 b/src/test/resources/_git_of_git_commit_id/objects/05/36191e197f388e09a0cd1ecee39d22e53fd825 new file mode 100644 index 0000000..f8dcdc5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/05/36191e197f388e09a0cd1ecee39d22e53fd825 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/05/927d188e7fa7168ed2f3f82bc75e0d360fd722 b/src/test/resources/_git_of_git_commit_id/objects/05/927d188e7fa7168ed2f3f82bc75e0d360fd722 new file mode 100644 index 0000000..2e91c99 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/05/927d188e7fa7168ed2f3f82bc75e0d360fd722 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/06/0ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 b/src/test/resources/_git_of_git_commit_id/objects/06/0ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 new file mode 100644 index 0000000..d7986e7 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/06/0ad61aedb23bb0c7c7551f4bcccc9ccd49afe0 @@ -0,0 +1,2 @@ +xJC1@]+f'"<')^o$SȝkRyMI:3a]Fc{*À KM1f"'PI '^Z6xɾzO!8*MsyT?E-d"«ZI5l@Y`h? viD +o/>Zp \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/06/294fdcb4fa7bfb98c2ea574b3d3deb07258378 b/src/test/resources/_git_of_git_commit_id/objects/06/294fdcb4fa7bfb98c2ea574b3d3deb07258378 new file mode 100644 index 0000000..ebcf283 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/06/294fdcb4fa7bfb98c2ea574b3d3deb07258378 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/06/a21c7dfd7c0750be4b0427e60121a345104073 b/src/test/resources/_git_of_git_commit_id/objects/06/a21c7dfd7c0750be4b0427e60121a345104073 new file mode 100644 index 0000000..36c7dcf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/06/a21c7dfd7c0750be4b0427e60121a345104073 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/06/fac86e44667dc040758519afaa0b866da35f1e b/src/test/resources/_git_of_git_commit_id/objects/06/fac86e44667dc040758519afaa0b866da35f1e new file mode 100644 index 0000000..a77e4e9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/06/fac86e44667dc040758519afaa0b866da35f1e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/07/05dc4b07b02bb613056cf8f88873fa9919eb5c b/src/test/resources/_git_of_git_commit_id/objects/07/05dc4b07b02bb613056cf8f88873fa9919eb5c new file mode 100644 index 0000000..a358de6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/07/05dc4b07b02bb613056cf8f88873fa9919eb5c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/07/5775612626bb50216fceb0a22e2d69a9299ee8 b/src/test/resources/_git_of_git_commit_id/objects/07/5775612626bb50216fceb0a22e2d69a9299ee8 new file mode 100644 index 0000000..ee495f4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/07/5775612626bb50216fceb0a22e2d69a9299ee8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/07/751578e7ed568acb2418f4a2748de6d24c73c8 b/src/test/resources/_git_of_git_commit_id/objects/07/751578e7ed568acb2418f4a2748de6d24c73c8 new file mode 100644 index 0000000..c97ad36 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/07/751578e7ed568acb2418f4a2748de6d24c73c8 @@ -0,0 +1 @@ +x5j0/ɺ؆/!0Gj2@¤ۏ9:Ņ {G8M^ު{&6(Z !ZY DRmk-0'?rk\syi\ ΠQFK -[)EzO^ Np_4Ф\ɳͶKV:3$ BW{Ayw!Xk \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/07/78f06a08c1f70dad1d4aff0bdeb50cb1edcdf0 b/src/test/resources/_git_of_git_commit_id/objects/07/78f06a08c1f70dad1d4aff0bdeb50cb1edcdf0 new file mode 100644 index 0000000..0d0c86d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/07/78f06a08c1f70dad1d4aff0bdeb50cb1edcdf0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/07/c98b2e6c81fbdc30a2f6cb27be9c508920f17f b/src/test/resources/_git_of_git_commit_id/objects/07/c98b2e6c81fbdc30a2f6cb27be9c508920f17f new file mode 100644 index 0000000..4d48f93 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/07/c98b2e6c81fbdc30a2f6cb27be9c508920f17f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/07/d3c8682c6932c7e1ebaa12ef4aa2370bb47dbe b/src/test/resources/_git_of_git_commit_id/objects/07/d3c8682c6932c7e1ebaa12ef4aa2370bb47dbe new file mode 100644 index 0000000..4499540 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/07/d3c8682c6932c7e1ebaa12ef4aa2370bb47dbe @@ -0,0 +1,2 @@ +x5Mj0},B% Si8$# +L=q9Ʃ"@m'yD # [[PPuA(ZN):=N |np_.һRpaxgi;R +zm4\֒*MjdJP3$z־cOmR|S٦_ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/08/0a7753179cf14956da577b90ed945c8f8b2a03 b/src/test/resources/_git_of_git_commit_id/objects/08/0a7753179cf14956da577b90ed945c8f8b2a03 new file mode 100644 index 0000000..e59ced9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/08/0a7753179cf14956da577b90ed945c8f8b2a03 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/08/1e05ca535840a1b1adcb1e063de232fa581533 b/src/test/resources/_git_of_git_commit_id/objects/08/1e05ca535840a1b1adcb1e063de232fa581533 new file mode 100644 index 0000000..d7da3f0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/08/1e05ca535840a1b1adcb1e063de232fa581533 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/08/5821346852ae732b097bbe5110d492b502b76c b/src/test/resources/_git_of_git_commit_id/objects/08/5821346852ae732b097bbe5110d492b502b76c new file mode 100644 index 0000000..6c8ac3e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/08/5821346852ae732b097bbe5110d492b502b76c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/08/a234b7a591950df55f9f885fcf3e08c9970790 b/src/test/resources/_git_of_git_commit_id/objects/08/a234b7a591950df55f9f885fcf3e08c9970790 new file mode 100644 index 0000000..a17fc97 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/08/a234b7a591950df55f9f885fcf3e08c9970790 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/08/a75cb9b93e06278d911f9972aeada34cd039d6 b/src/test/resources/_git_of_git_commit_id/objects/08/a75cb9b93e06278d911f9972aeada34cd039d6 new file mode 100644 index 0000000..533f8b0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/08/a75cb9b93e06278d911f9972aeada34cd039d6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/08/faec30ece3cff9b4d5b15283b1fd6fe24bf534 b/src/test/resources/_git_of_git_commit_id/objects/08/faec30ece3cff9b4d5b15283b1fd6fe24bf534 new file mode 100644 index 0000000..e4cd1ab Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/08/faec30ece3cff9b4d5b15283b1fd6fe24bf534 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/09/28633b5e256970f58df88f9a6387066b48b4b5 b/src/test/resources/_git_of_git_commit_id/objects/09/28633b5e256970f58df88f9a6387066b48b4b5 new file mode 100644 index 0000000..dbccaf5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/09/28633b5e256970f58df88f9a6387066b48b4b5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/09/7fd9d9f960977d1509391c5ff0cee22bb63c11 b/src/test/resources/_git_of_git_commit_id/objects/09/7fd9d9f960977d1509391c5ff0cee22bb63c11 new file mode 100644 index 0000000..1df8de3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/09/7fd9d9f960977d1509391c5ff0cee22bb63c11 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/09/be9c26811f26bc0bd466d74ddd8b88d82d573e b/src/test/resources/_git_of_git_commit_id/objects/09/be9c26811f26bc0bd466d74ddd8b88d82d573e new file mode 100644 index 0000000..e174b94 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/09/be9c26811f26bc0bd466d74ddd8b88d82d573e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/09/ca953a517245aab1e55403a21516122f3d426f b/src/test/resources/_git_of_git_commit_id/objects/09/ca953a517245aab1e55403a21516122f3d426f new file mode 100644 index 0000000..d177789 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/09/ca953a517245aab1e55403a21516122f3d426f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/029cfde315fd7751fb9fcc4a8db9f3238b4bb4 b/src/test/resources/_git_of_git_commit_id/objects/0a/029cfde315fd7751fb9fcc4a8db9f3238b4bb4 new file mode 100644 index 0000000..2b16918 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/029cfde315fd7751fb9fcc4a8db9f3238b4bb4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/46e39a9a49271aea5056e6a250ffe638b0c463 b/src/test/resources/_git_of_git_commit_id/objects/0a/46e39a9a49271aea5056e6a250ffe638b0c463 new file mode 100644 index 0000000..0aff105 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/46e39a9a49271aea5056e6a250ffe638b0c463 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/547cf6dafa7ffbd893789bba4651a0a3d71272 b/src/test/resources/_git_of_git_commit_id/objects/0a/547cf6dafa7ffbd893789bba4651a0a3d71272 new file mode 100644 index 0000000..40969f5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/547cf6dafa7ffbd893789bba4651a0a3d71272 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/56c5ef043d1533322eab0a27d3fe822da56af1 b/src/test/resources/_git_of_git_commit_id/objects/0a/56c5ef043d1533322eab0a27d3fe822da56af1 new file mode 100644 index 0000000..b16115a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/56c5ef043d1533322eab0a27d3fe822da56af1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/9f83c2c8630f48290a93f32549c5dd495bd9f4 b/src/test/resources/_git_of_git_commit_id/objects/0a/9f83c2c8630f48290a93f32549c5dd495bd9f4 new file mode 100644 index 0000000..51e4fc7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/9f83c2c8630f48290a93f32549c5dd495bd9f4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/bd2ba1fbcb861e07fc0cf537613ada33f9219b b/src/test/resources/_git_of_git_commit_id/objects/0a/bd2ba1fbcb861e07fc0cf537613ada33f9219b new file mode 100644 index 0000000..7e866b6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/bd2ba1fbcb861e07fc0cf537613ada33f9219b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/f25dae46f0424de5e8c2513ff14c2daf7d81ac b/src/test/resources/_git_of_git_commit_id/objects/0a/f25dae46f0424de5e8c2513ff14c2daf7d81ac new file mode 100644 index 0000000..7ccc060 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/f25dae46f0424de5e8c2513ff14c2daf7d81ac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0a/fe1fbaf0763ce5e7faa46f9ff2bc0887b8671c b/src/test/resources/_git_of_git_commit_id/objects/0a/fe1fbaf0763ce5e7faa46f9ff2bc0887b8671c new file mode 100644 index 0000000..af7f4d4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0a/fe1fbaf0763ce5e7faa46f9ff2bc0887b8671c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0b/299f7bf00eb2d2c4624a3555e617da94cb18a1 b/src/test/resources/_git_of_git_commit_id/objects/0b/299f7bf00eb2d2c4624a3555e617da94cb18a1 new file mode 100644 index 0000000..55a918d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0b/299f7bf00eb2d2c4624a3555e617da94cb18a1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0b/58527123dd24ef3439ffa4d52a5b4f94f80de0 b/src/test/resources/_git_of_git_commit_id/objects/0b/58527123dd24ef3439ffa4d52a5b4f94f80de0 new file mode 100644 index 0000000..683c804 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0b/58527123dd24ef3439ffa4d52a5b4f94f80de0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0b/7dcb1af0c02e2c84fbfb48c5d0e83785a596c9 b/src/test/resources/_git_of_git_commit_id/objects/0b/7dcb1af0c02e2c84fbfb48c5d0e83785a596c9 new file mode 100644 index 0000000..f39fa98 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0b/7dcb1af0c02e2c84fbfb48c5d0e83785a596c9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0b/9d1e57bdf2518198d80c81073d943230b92150 b/src/test/resources/_git_of_git_commit_id/objects/0b/9d1e57bdf2518198d80c81073d943230b92150 new file mode 100644 index 0000000..36c30c6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0b/9d1e57bdf2518198d80c81073d943230b92150 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0b/e968df2bfbde92698dbb7a8262df5fbe41b3eb b/src/test/resources/_git_of_git_commit_id/objects/0b/e968df2bfbde92698dbb7a8262df5fbe41b3eb new file mode 100644 index 0000000..912ddd2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0b/e968df2bfbde92698dbb7a8262df5fbe41b3eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0b/fde63997c6c370ae531824fe4fe1161047ba65 b/src/test/resources/_git_of_git_commit_id/objects/0b/fde63997c6c370ae531824fe4fe1161047ba65 new file mode 100644 index 0000000..97b97f5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0b/fde63997c6c370ae531824fe4fe1161047ba65 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0c/33be77cc90a57b22bfd4e7a5f52a96b05c82e5 b/src/test/resources/_git_of_git_commit_id/objects/0c/33be77cc90a57b22bfd4e7a5f52a96b05c82e5 new file mode 100644 index 0000000..0199138 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0c/33be77cc90a57b22bfd4e7a5f52a96b05c82e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0c/749d2288e7db3a75f2dbe184ebafb06908b8fb b/src/test/resources/_git_of_git_commit_id/objects/0c/749d2288e7db3a75f2dbe184ebafb06908b8fb new file mode 100644 index 0000000..9d9e9b0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0c/749d2288e7db3a75f2dbe184ebafb06908b8fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0c/ce58c83f507143da967b7831f125cd3c5f3843 b/src/test/resources/_git_of_git_commit_id/objects/0c/ce58c83f507143da967b7831f125cd3c5f3843 new file mode 100644 index 0000000..69fcc8e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0c/ce58c83f507143da967b7831f125cd3c5f3843 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0c/e764ad0ec321c04b4b87382ae0de5ad225c3bd b/src/test/resources/_git_of_git_commit_id/objects/0c/e764ad0ec321c04b4b87382ae0de5ad225c3bd new file mode 100644 index 0000000..8c013cc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0c/e764ad0ec321c04b4b87382ae0de5ad225c3bd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0d/0b872fb2f9e81110f1a00373cddf284edce247 b/src/test/resources/_git_of_git_commit_id/objects/0d/0b872fb2f9e81110f1a00373cddf284edce247 new file mode 100644 index 0000000..d06433d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0d/0b872fb2f9e81110f1a00373cddf284edce247 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0d/1bcccf37cea06632b36d481937a3a76e0a16b3 b/src/test/resources/_git_of_git_commit_id/objects/0d/1bcccf37cea06632b36d481937a3a76e0a16b3 new file mode 100644 index 0000000..64e5e9c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0d/1bcccf37cea06632b36d481937a3a76e0a16b3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0d/30206d812306c9ea2138daa5ee7ccb1486ac5e b/src/test/resources/_git_of_git_commit_id/objects/0d/30206d812306c9ea2138daa5ee7ccb1486ac5e new file mode 100644 index 0000000..e22d815 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0d/30206d812306c9ea2138daa5ee7ccb1486ac5e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0d/30c7ec0c0f9687ce530ad2177d3e24166ed0cf b/src/test/resources/_git_of_git_commit_id/objects/0d/30c7ec0c0f9687ce530ad2177d3e24166ed0cf new file mode 100644 index 0000000..a83043e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0d/30c7ec0c0f9687ce530ad2177d3e24166ed0cf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0d/8f570274f96581abc161dc60e702a287cc64bb b/src/test/resources/_git_of_git_commit_id/objects/0d/8f570274f96581abc161dc60e702a287cc64bb new file mode 100644 index 0000000..3c8b5b1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0d/8f570274f96581abc161dc60e702a287cc64bb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0d/b5135a0c7e0ccc9a75b9b506dd895a0b62559a b/src/test/resources/_git_of_git_commit_id/objects/0d/b5135a0c7e0ccc9a75b9b506dd895a0b62559a new file mode 100644 index 0000000..87694b8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0d/b5135a0c7e0ccc9a75b9b506dd895a0b62559a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0e/1ac9780f89ebc4ec3906d8e990b951ae348768 b/src/test/resources/_git_of_git_commit_id/objects/0e/1ac9780f89ebc4ec3906d8e990b951ae348768 new file mode 100644 index 0000000..344400e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0e/1ac9780f89ebc4ec3906d8e990b951ae348768 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0e/4c31c7c00b43847ad55f99264877d6c7721e34 b/src/test/resources/_git_of_git_commit_id/objects/0e/4c31c7c00b43847ad55f99264877d6c7721e34 new file mode 100644 index 0000000..c193d74 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0e/4c31c7c00b43847ad55f99264877d6c7721e34 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0e/f98e59c267ed71e522789f66751e7c7eea00d2 b/src/test/resources/_git_of_git_commit_id/objects/0e/f98e59c267ed71e522789f66751e7c7eea00d2 new file mode 100644 index 0000000..4375329 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/0e/f98e59c267ed71e522789f66751e7c7eea00d2 @@ -0,0 +1,2 @@ +xAN!@Q}3h1r{^cݶ<@;s7h +--0YYxG]aBf8$"c4g>`ķqkQz8= ("ֈ8ſ!gK<$AN ƅ˺[_W\G;ۀ/&W \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/0f/65d8d034331799ea5c9a3c75ecc3e2e1273b03 b/src/test/resources/_git_of_git_commit_id/objects/0f/65d8d034331799ea5c9a3c75ecc3e2e1273b03 new file mode 100644 index 0000000..e3b71fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0f/65d8d034331799ea5c9a3c75ecc3e2e1273b03 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0f/7a6e4885f742b9653b7d2f4726c24561f8005c b/src/test/resources/_git_of_git_commit_id/objects/0f/7a6e4885f742b9653b7d2f4726c24561f8005c new file mode 100644 index 0000000..61732c8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0f/7a6e4885f742b9653b7d2f4726c24561f8005c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0f/8201e1fb192c8e14aad525026762f5883b5a49 b/src/test/resources/_git_of_git_commit_id/objects/0f/8201e1fb192c8e14aad525026762f5883b5a49 new file mode 100644 index 0000000..e5fd6fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0f/8201e1fb192c8e14aad525026762f5883b5a49 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0f/8a4b976940e385e41b34db103c4307c1c65332 b/src/test/resources/_git_of_git_commit_id/objects/0f/8a4b976940e385e41b34db103c4307c1c65332 new file mode 100644 index 0000000..5e83225 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0f/8a4b976940e385e41b34db103c4307c1c65332 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/0f/cdf2d7a253584e1ffedf480a0c3e119a464525 b/src/test/resources/_git_of_git_commit_id/objects/0f/cdf2d7a253584e1ffedf480a0c3e119a464525 new file mode 100644 index 0000000..dfc8382 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/0f/cdf2d7a253584e1ffedf480a0c3e119a464525 @@ -0,0 +1 @@ +x%0 ;@b``Bj!V[P[nѺt8H!3XUv9J}h9[ d\!P?m# \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/0f/d5566066aa819318a28966a781cdba50d468c2 b/src/test/resources/_git_of_git_commit_id/objects/0f/d5566066aa819318a28966a781cdba50d468c2 new file mode 100644 index 0000000..9ea2488 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/0f/d5566066aa819318a28966a781cdba50d468c2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/0063fcea22885078c3a8b014392ddab3780405 b/src/test/resources/_git_of_git_commit_id/objects/10/0063fcea22885078c3a8b014392ddab3780405 new file mode 100644 index 0000000..06c9c66 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/0063fcea22885078c3a8b014392ddab3780405 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/06068bfa171395ba875c02506eafcdc905aec0 b/src/test/resources/_git_of_git_commit_id/objects/10/06068bfa171395ba875c02506eafcdc905aec0 new file mode 100644 index 0000000..da0efe7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/06068bfa171395ba875c02506eafcdc905aec0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/0650004960428d8f8e7774098c6ba1ec439740 b/src/test/resources/_git_of_git_commit_id/objects/10/0650004960428d8f8e7774098c6ba1ec439740 new file mode 100644 index 0000000..530ebd7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/0650004960428d8f8e7774098c6ba1ec439740 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/7186f9c0c8194a03d6c76d069f9f04c139f75e b/src/test/resources/_git_of_git_commit_id/objects/10/7186f9c0c8194a03d6c76d069f9f04c139f75e new file mode 100644 index 0000000..4936dce Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/7186f9c0c8194a03d6c76d069f9f04c139f75e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/732ce73fc3c1dd0f04990eaff3261891e95034 b/src/test/resources/_git_of_git_commit_id/objects/10/732ce73fc3c1dd0f04990eaff3261891e95034 new file mode 100644 index 0000000..008c580 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/10/732ce73fc3c1dd0f04990eaff3261891e95034 @@ -0,0 +1 @@ +x+)JMU06a040031QM,.I-bXdſN/xgyݳC \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/75c9a82b0543a8d89bdd99ad3ea8109b76f04d b/src/test/resources/_git_of_git_commit_id/objects/10/75c9a82b0543a8d89bdd99ad3ea8109b76f04d new file mode 100644 index 0000000..c492f51 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/75c9a82b0543a8d89bdd99ad3ea8109b76f04d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/add9a22585a4993d07e7ef3fccbe124d9bcba4 b/src/test/resources/_git_of_git_commit_id/objects/10/add9a22585a4993d07e7ef3fccbe124d9bcba4 new file mode 100644 index 0000000..6fb694f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/add9a22585a4993d07e7ef3fccbe124d9bcba4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/bcce723c135f76afb761b5c8a49e66c231541d b/src/test/resources/_git_of_git_commit_id/objects/10/bcce723c135f76afb761b5c8a49e66c231541d new file mode 100644 index 0000000..1837e3f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/bcce723c135f76afb761b5c8a49e66c231541d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/10/ddc923555be6bef490ad42302729dc5f7c9437 b/src/test/resources/_git_of_git_commit_id/objects/10/ddc923555be6bef490ad42302729dc5f7c9437 new file mode 100644 index 0000000..a4521f6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/10/ddc923555be6bef490ad42302729dc5f7c9437 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/06ab31d5a51c824f2c1fed071b8c02355a2534 b/src/test/resources/_git_of_git_commit_id/objects/11/06ab31d5a51c824f2c1fed071b8c02355a2534 new file mode 100644 index 0000000..7e1b752 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/11/06ab31d5a51c824f2c1fed071b8c02355a2534 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/3a6feedb9f048738e2d99cb679643c42d74f24 b/src/test/resources/_git_of_git_commit_id/objects/11/3a6feedb9f048738e2d99cb679643c42d74f24 new file mode 100644 index 0000000..e09915e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/11/3a6feedb9f048738e2d99cb679643c42d74f24 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/3c43959f76657361cbdbf5893f991b7c195258 b/src/test/resources/_git_of_git_commit_id/objects/11/3c43959f76657361cbdbf5893f991b7c195258 new file mode 100644 index 0000000..ea33a3d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/11/3c43959f76657361cbdbf5893f991b7c195258 @@ -0,0 +1 @@ +xKOR05d` 50K60d`jmZg͕'Blӏgqv FUO \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/712e148a9a09635c0e2d383ea2e8bb5f5210ba b/src/test/resources/_git_of_git_commit_id/objects/11/712e148a9a09635c0e2d383ea2e8bb5f5210ba new file mode 100644 index 0000000..4b801e2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/11/712e148a9a09635c0e2d383ea2e8bb5f5210ba differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/d034a133575ed629bfbb424c594b778f4c4ac5 b/src/test/resources/_git_of_git_commit_id/objects/11/d034a133575ed629bfbb424c594b778f4c4ac5 new file mode 100644 index 0000000..30e4f2b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/11/d034a133575ed629bfbb424c594b778f4c4ac5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/ed1eca774324556c81373b2bf2a5446f0ae1a4 b/src/test/resources/_git_of_git_commit_id/objects/11/ed1eca774324556c81373b2bf2a5446f0ae1a4 new file mode 100644 index 0000000..0523f47 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/11/ed1eca774324556c81373b2bf2a5446f0ae1a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/11/fd252e20b7e420eca67a672d06abf24bdae5ae b/src/test/resources/_git_of_git_commit_id/objects/11/fd252e20b7e420eca67a672d06abf24bdae5ae new file mode 100644 index 0000000..48fd433 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/11/fd252e20b7e420eca67a672d06abf24bdae5ae @@ -0,0 +1,2 @@ +xAn!sswd"EQ1CBXc[A]-c-%OЫy8nYFGcY4|}ZLI +~]Sj ^:mN;}s8^8NǶ * Rć/ vέeik,ؐ#\桇b9D*;*YT]ȲH Oyd4sܳ;l7yb#rl0#3đF]ʀh9h筳fx4j$kT鸃 )#RšRN_hl Q؟ SywQY:Pk:wGh`` as5.gyI1$2{1ļ엙mZ{ZpIxc_e{Le!eODA "C-l67?zN; \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/1a/ebcd440c58f56a56faf071ac12cd45ee6136b7 b/src/test/resources/_git_of_git_commit_id/objects/1a/ebcd440c58f56a56faf071ac12cd45ee6136b7 new file mode 100644 index 0000000..7b964f0 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/1a/ebcd440c58f56a56faf071ac12cd45ee6136b7 @@ -0,0 +1 @@ +xKOR01g` 50K20d`jsd.(~WZѾjqy5<XJ@ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/1b/16b1ab1e2337538722a389939efd8113a03a26 b/src/test/resources/_git_of_git_commit_id/objects/1b/16b1ab1e2337538722a389939efd8113a03a26 new file mode 100644 index 0000000..370bd64 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1b/16b1ab1e2337538722a389939efd8113a03a26 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1b/57f44a2a6c051330752c1257883bd8c3ffe23a b/src/test/resources/_git_of_git_commit_id/objects/1b/57f44a2a6c051330752c1257883bd8c3ffe23a new file mode 100644 index 0000000..f6f1980 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1b/57f44a2a6c051330752c1257883bd8c3ffe23a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1b/c44ebd22f4dc1f7053620f650755564e59b899 b/src/test/resources/_git_of_git_commit_id/objects/1b/c44ebd22f4dc1f7053620f650755564e59b899 new file mode 100644 index 0000000..be895fd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1b/c44ebd22f4dc1f7053620f650755564e59b899 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1b/f4fb54b2b9da899818bd99ff0e5da92a850b5c b/src/test/resources/_git_of_git_commit_id/objects/1b/f4fb54b2b9da899818bd99ff0e5da92a850b5c new file mode 100644 index 0000000..a0946b3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1b/f4fb54b2b9da899818bd99ff0e5da92a850b5c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1b/f609eab8735ef5f11d2e01d3a79f9213e80364 b/src/test/resources/_git_of_git_commit_id/objects/1b/f609eab8735ef5f11d2e01d3a79f9213e80364 new file mode 100644 index 0000000..8b87bfe Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1b/f609eab8735ef5f11d2e01d3a79f9213e80364 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/1a5c59e6261bc9760c7bc21214ead1f88ae0a2 b/src/test/resources/_git_of_git_commit_id/objects/1c/1a5c59e6261bc9760c7bc21214ead1f88ae0a2 new file mode 100644 index 0000000..eb0123f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1c/1a5c59e6261bc9760c7bc21214ead1f88ae0a2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/82cc0db388a970386893adfcf5c9224bc846e0 b/src/test/resources/_git_of_git_commit_id/objects/1c/82cc0db388a970386893adfcf5c9224bc846e0 new file mode 100644 index 0000000..788b96b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/1c/82cc0db388a970386893adfcf5c9224bc846e0 @@ -0,0 +1,2 @@ +x-1JCAWHJmJ,vH26L!HxtVBG!xA았"U[ϩQ-&.,>KT3( +iRot>;]^?5~8ɑ&1w@ERķ淅rxx=? Mn7T<锍Xsczs~o?ӳ˓oC~ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/9cb0be33574c4e0a87ba79e90877b84b00f0b8 b/src/test/resources/_git_of_git_commit_id/objects/1c/9cb0be33574c4e0a87ba79e90877b84b00f0b8 new file mode 100644 index 0000000..ef1a1dc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1c/9cb0be33574c4e0a87ba79e90877b84b00f0b8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/d92b590b0153295bc20b188b5138c23c08e6a8 b/src/test/resources/_git_of_git_commit_id/objects/1c/d92b590b0153295bc20b188b5138c23c08e6a8 new file mode 100644 index 0000000..b388d50 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1c/d92b590b0153295bc20b188b5138c23c08e6a8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/e8551d6609b1d92c7c746a368d232349844b6c b/src/test/resources/_git_of_git_commit_id/objects/1c/e8551d6609b1d92c7c746a368d232349844b6c new file mode 100644 index 0000000..67ca87d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1c/e8551d6609b1d92c7c746a368d232349844b6c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/ef65da17994c86ff98c245dfa365cb5c97721b b/src/test/resources/_git_of_git_commit_id/objects/1c/ef65da17994c86ff98c245dfa365cb5c97721b new file mode 100644 index 0000000..4da77b8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1c/ef65da17994c86ff98c245dfa365cb5c97721b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1c/f38a12e66d0fd511c1bd9b9a8af1fdbc3d76c5 b/src/test/resources/_git_of_git_commit_id/objects/1c/f38a12e66d0fd511c1bd9b9a8af1fdbc3d76c5 new file mode 100644 index 0000000..a37f483 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1c/f38a12e66d0fd511c1bd9b9a8af1fdbc3d76c5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1d/410bac7ff82e4440fa2c61ae74eea02075991a b/src/test/resources/_git_of_git_commit_id/objects/1d/410bac7ff82e4440fa2c61ae74eea02075991a new file mode 100644 index 0000000..5443579 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1d/410bac7ff82e4440fa2c61ae74eea02075991a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1d/d4ac233345da00c0a296e5b914c5984a5cd7a4 b/src/test/resources/_git_of_git_commit_id/objects/1d/d4ac233345da00c0a296e5b914c5984a5cd7a4 new file mode 100644 index 0000000..1d7e293 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1d/d4ac233345da00c0a296e5b914c5984a5cd7a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1d/f8de3f1fb457505b3844a25e8db57335589487 b/src/test/resources/_git_of_git_commit_id/objects/1d/f8de3f1fb457505b3844a25e8db57335589487 new file mode 100644 index 0000000..0de3b95 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1d/f8de3f1fb457505b3844a25e8db57335589487 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1e/3c8ab992d6a7c8a3e5c82a2999ea393e04797f b/src/test/resources/_git_of_git_commit_id/objects/1e/3c8ab992d6a7c8a3e5c82a2999ea393e04797f new file mode 100644 index 0000000..b2676e6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1e/3c8ab992d6a7c8a3e5c82a2999ea393e04797f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1e/8699f2a13646baf85760e0b2b1378267369637 b/src/test/resources/_git_of_git_commit_id/objects/1e/8699f2a13646baf85760e0b2b1378267369637 new file mode 100644 index 0000000..0ea53f5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1e/8699f2a13646baf85760e0b2b1378267369637 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1e/88a6cc52ff03783028043fd9643f4a37ea591f b/src/test/resources/_git_of_git_commit_id/objects/1e/88a6cc52ff03783028043fd9643f4a37ea591f new file mode 100644 index 0000000..327f3fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1e/88a6cc52ff03783028043fd9643f4a37ea591f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1e/cf2ad8e957bd528b46e2052fa506f2adc74970 b/src/test/resources/_git_of_git_commit_id/objects/1e/cf2ad8e957bd528b46e2052fa506f2adc74970 new file mode 100644 index 0000000..ebc3a23 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1e/cf2ad8e957bd528b46e2052fa506f2adc74970 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1e/e7d6fb0e44d9424d7bcd0f759fda8d32d26026 b/src/test/resources/_git_of_git_commit_id/objects/1e/e7d6fb0e44d9424d7bcd0f759fda8d32d26026 new file mode 100644 index 0000000..bdec3c2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1e/e7d6fb0e44d9424d7bcd0f759fda8d32d26026 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/00198566515f6ca57ead6bef5141f4e7cb9232 b/src/test/resources/_git_of_git_commit_id/objects/1f/00198566515f6ca57ead6bef5141f4e7cb9232 new file mode 100644 index 0000000..75a810d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/00198566515f6ca57ead6bef5141f4e7cb9232 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/0ca866abdaa7df437d2f1e22f26cd74f439cec b/src/test/resources/_git_of_git_commit_id/objects/1f/0ca866abdaa7df437d2f1e22f26cd74f439cec new file mode 100644 index 0000000..d1e268f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/0ca866abdaa7df437d2f1e22f26cd74f439cec differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/391d7476cefce37838d4eaef4a395aa263638a b/src/test/resources/_git_of_git_commit_id/objects/1f/391d7476cefce37838d4eaef4a395aa263638a new file mode 100644 index 0000000..78022b0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/391d7476cefce37838d4eaef4a395aa263638a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/4330ab6d65bb819fc0ea81183963a8e8933c7a b/src/test/resources/_git_of_git_commit_id/objects/1f/4330ab6d65bb819fc0ea81183963a8e8933c7a new file mode 100644 index 0000000..002c875 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/4330ab6d65bb819fc0ea81183963a8e8933c7a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/680841bcfc691e4124a0899e458502c03f407b b/src/test/resources/_git_of_git_commit_id/objects/1f/680841bcfc691e4124a0899e458502c03f407b new file mode 100644 index 0000000..7bfe851 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/680841bcfc691e4124a0899e458502c03f407b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/6df38efc7e683f3f5bbc3e7d28b628c394e3ec b/src/test/resources/_git_of_git_commit_id/objects/1f/6df38efc7e683f3f5bbc3e7d28b628c394e3ec new file mode 100644 index 0000000..836f718 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/6df38efc7e683f3f5bbc3e7d28b628c394e3ec differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/c6641fe99d9bb0472792bb3eb2f2103991046e b/src/test/resources/_git_of_git_commit_id/objects/1f/c6641fe99d9bb0472792bb3eb2f2103991046e new file mode 100644 index 0000000..7dd61f9 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/1f/c6641fe99d9bb0472792bb3eb2f2103991046e @@ -0,0 +1 @@ +x+)JMU02d040031QK,L/Je05w 0wǓgHT%eU0y;_ Mװy-,*tv veH=zcYsd:nlH U몗pܜ#pQŻ'r,(' XļP /QQi3oX1k?\ytTqA~^]_v5xʟ\6$. P(.Jfycgl$HպjjfF \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/1f/ec2e13a08113de7c607f823551de1d66857ffe b/src/test/resources/_git_of_git_commit_id/objects/1f/ec2e13a08113de7c607f823551de1d66857ffe new file mode 100644 index 0000000..50c729c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/1f/ec2e13a08113de7c607f823551de1d66857ffe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/281fb034674b9d4427d10f36b42e5fce8dc971 b/src/test/resources/_git_of_git_commit_id/objects/20/281fb034674b9d4427d10f36b42e5fce8dc971 new file mode 100644 index 0000000..29ad7f2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/281fb034674b9d4427d10f36b42e5fce8dc971 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/4305438579172461682a7290c5890e1f2dfdea b/src/test/resources/_git_of_git_commit_id/objects/20/4305438579172461682a7290c5890e1f2dfdea new file mode 100644 index 0000000..7da14fa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/4305438579172461682a7290c5890e1f2dfdea differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/497c8a43e526fc6c9545f65cbf0be3e0b220b6 b/src/test/resources/_git_of_git_commit_id/objects/20/497c8a43e526fc6c9545f65cbf0be3e0b220b6 new file mode 100644 index 0000000..22eeda8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/497c8a43e526fc6c9545f65cbf0be3e0b220b6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/4b1d211b4da9d058a90091ffd5cfd02eea0d36 b/src/test/resources/_git_of_git_commit_id/objects/20/4b1d211b4da9d058a90091ffd5cfd02eea0d36 new file mode 100644 index 0000000..754f277 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/4b1d211b4da9d058a90091ffd5cfd02eea0d36 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/7854cfd39a1b37122060cd5e1a859d9a121b1a b/src/test/resources/_git_of_git_commit_id/objects/20/7854cfd39a1b37122060cd5e1a859d9a121b1a new file mode 100644 index 0000000..7493b3d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/7854cfd39a1b37122060cd5e1a859d9a121b1a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/7afead0bcb1f3b9dc010aa1b3f1d49c98c9633 b/src/test/resources/_git_of_git_commit_id/objects/20/7afead0bcb1f3b9dc010aa1b3f1d49c98c9633 new file mode 100644 index 0000000..ef8f6e5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/7afead0bcb1f3b9dc010aa1b3f1d49c98c9633 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/aa22f16813cd8367721086375227195ec6239d b/src/test/resources/_git_of_git_commit_id/objects/20/aa22f16813cd8367721086375227195ec6239d new file mode 100644 index 0000000..78ad130 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/aa22f16813cd8367721086375227195ec6239d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/b9700cb614a23c950bd0375ed358aea70b3107 b/src/test/resources/_git_of_git_commit_id/objects/20/b9700cb614a23c950bd0375ed358aea70b3107 new file mode 100644 index 0000000..30976ae Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/b9700cb614a23c950bd0375ed358aea70b3107 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/20/c10a396c6a42be79d4aa02e5166c82b39873e2 b/src/test/resources/_git_of_git_commit_id/objects/20/c10a396c6a42be79d4aa02e5166c82b39873e2 new file mode 100644 index 0000000..a291efb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/20/c10a396c6a42be79d4aa02e5166c82b39873e2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/21/26413109878535179db687929c6401aca35fae b/src/test/resources/_git_of_git_commit_id/objects/21/26413109878535179db687929c6401aca35fae new file mode 100644 index 0000000..596ba86 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/21/26413109878535179db687929c6401aca35fae differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/21/7ae14de77d63c9a9aefe9f540efaebe6ee466c b/src/test/resources/_git_of_git_commit_id/objects/21/7ae14de77d63c9a9aefe9f540efaebe6ee466c new file mode 100644 index 0000000..021ff49 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/21/7ae14de77d63c9a9aefe9f540efaebe6ee466c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/21/ae2b8dbccfe9f3a9cbbd7c7e32e57c07c42692 b/src/test/resources/_git_of_git_commit_id/objects/21/ae2b8dbccfe9f3a9cbbd7c7e32e57c07c42692 new file mode 100644 index 0000000..93eef30 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/21/ae2b8dbccfe9f3a9cbbd7c7e32e57c07c42692 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/4461b263b438bd9130742d55eb279971aa02fa b/src/test/resources/_git_of_git_commit_id/objects/22/4461b263b438bd9130742d55eb279971aa02fa new file mode 100644 index 0000000..6b8fe2c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/22/4461b263b438bd9130742d55eb279971aa02fa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/48d753b0a91e6fed0c4f4c0f24787fcaed57d1 b/src/test/resources/_git_of_git_commit_id/objects/22/48d753b0a91e6fed0c4f4c0f24787fcaed57d1 new file mode 100644 index 0000000..eca6fee Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/22/48d753b0a91e6fed0c4f4c0f24787fcaed57d1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/668216a3cec5a00d804dc5e9a904a10fd0fd09 b/src/test/resources/_git_of_git_commit_id/objects/22/668216a3cec5a00d804dc5e9a904a10fd0fd09 new file mode 100644 index 0000000..af82b8f --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/22/668216a3cec5a00d804dc5e9a904a10fd0fd09 @@ -0,0 +1,4 @@ +x-10Es/ +Xy*/ ɘd6x|ھ߳Q,ˡ=6^iMG(͑EPx* +G1 +/ NkJ4rdkoҟLa,ZοDs U/7 \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/6b6d7f68cf33582ccdea3b5162fd804861b65c b/src/test/resources/_git_of_git_commit_id/objects/22/6b6d7f68cf33582ccdea3b5162fd804861b65c new file mode 100644 index 0000000..e3caac2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/22/6b6d7f68cf33582ccdea3b5162fd804861b65c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/7eb28071788fcd0af2e790549dfaf6f9e22cac b/src/test/resources/_git_of_git_commit_id/objects/22/7eb28071788fcd0af2e790549dfaf6f9e22cac new file mode 100644 index 0000000..e4443de Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/22/7eb28071788fcd0af2e790549dfaf6f9e22cac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/c1751b35999b8dfaf98e46e1049f590837e522 b/src/test/resources/_git_of_git_commit_id/objects/22/c1751b35999b8dfaf98e46e1049f590837e522 new file mode 100644 index 0000000..7030375 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/22/c1751b35999b8dfaf98e46e1049f590837e522 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/22/d124896e971775003324e5d582b4b33771516b b/src/test/resources/_git_of_git_commit_id/objects/22/d124896e971775003324e5d582b4b33771516b new file mode 100644 index 0000000..ecda2b7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/22/d124896e971775003324e5d582b4b33771516b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/23/3ec564eb71e8b5ecdb6f4a3cacc4ed36254f00 b/src/test/resources/_git_of_git_commit_id/objects/23/3ec564eb71e8b5ecdb6f4a3cacc4ed36254f00 new file mode 100644 index 0000000..f2e1868 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/23/3ec564eb71e8b5ecdb6f4a3cacc4ed36254f00 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/23/504cd610d546e705d2c68a20451a155f34a8d6 b/src/test/resources/_git_of_git_commit_id/objects/23/504cd610d546e705d2c68a20451a155f34a8d6 new file mode 100644 index 0000000..dc4df93 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/23/504cd610d546e705d2c68a20451a155f34a8d6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/23/80a899905ee320c55c41789c75b6a36f6ea8f8 b/src/test/resources/_git_of_git_commit_id/objects/23/80a899905ee320c55c41789c75b6a36f6ea8f8 new file mode 100644 index 0000000..7631213 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/23/80a899905ee320c55c41789c75b6a36f6ea8f8 @@ -0,0 +1 @@ +x5j0 BPJY^up\}eIsJS$Q#LaDoќ4)iV*r!: Jp'U>Zh}>hh7c.px>Zs&8C/ׯDrNPƪFxt5V)hm<Ц\ג2%UjD⚋w(I-sa̡IZ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/23/a077fcd2adaa09347a651b17f738e95cf6e7b2 b/src/test/resources/_git_of_git_commit_id/objects/23/a077fcd2adaa09347a651b17f738e95cf6e7b2 new file mode 100644 index 0000000..0dbcf35 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/23/a077fcd2adaa09347a651b17f738e95cf6e7b2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/23/c41efdca0d9fbfaf9625df52e06bb78d1e2ef9 b/src/test/resources/_git_of_git_commit_id/objects/23/c41efdca0d9fbfaf9625df52e06bb78d1e2ef9 new file mode 100644 index 0000000..ee01efb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/23/c41efdca0d9fbfaf9625df52e06bb78d1e2ef9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/24/a2667ad1765999779a246abfb4d3f7d032995a b/src/test/resources/_git_of_git_commit_id/objects/24/a2667ad1765999779a246abfb4d3f7d032995a new file mode 100644 index 0000000..b543845 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/24/a2667ad1765999779a246abfb4d3f7d032995a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/25/07ab87984f70eff8d3304d5269c00816a115b8 b/src/test/resources/_git_of_git_commit_id/objects/25/07ab87984f70eff8d3304d5269c00816a115b8 new file mode 100644 index 0000000..752f4a9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/25/07ab87984f70eff8d3304d5269c00816a115b8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/25/691e472ca8de0c5fb6f4e1903108c05e228f53 b/src/test/resources/_git_of_git_commit_id/objects/25/691e472ca8de0c5fb6f4e1903108c05e228f53 new file mode 100644 index 0000000..6360723 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/25/691e472ca8de0c5fb6f4e1903108c05e228f53 @@ -0,0 +1 @@ +xKOR0`` 50K20d`jrdJR7d_S_a |={5 \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/25/e4f01d8004ff525fba7f37bc5574a495d57b47 b/src/test/resources/_git_of_git_commit_id/objects/25/e4f01d8004ff525fba7f37bc5574a495d57b47 new file mode 100644 index 0000000..75152e1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/25/e4f01d8004ff525fba7f37bc5574a495d57b47 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/26/1a1d26185aa46334fec43ce68a2829ca23e49b b/src/test/resources/_git_of_git_commit_id/objects/26/1a1d26185aa46334fec43ce68a2829ca23e49b new file mode 100644 index 0000000..2a4a3e9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/26/1a1d26185aa46334fec43ce68a2829ca23e49b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/26/32d8ccf96dbb82e39cfb6edd9a1b3340b79211 b/src/test/resources/_git_of_git_commit_id/objects/26/32d8ccf96dbb82e39cfb6edd9a1b3340b79211 new file mode 100644 index 0000000..4ac7469 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/26/32d8ccf96dbb82e39cfb6edd9a1b3340b79211 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/26/3e68faad05a0b6f93484c3b37fa7b3f0fd961b b/src/test/resources/_git_of_git_commit_id/objects/26/3e68faad05a0b6f93484c3b37fa7b3f0fd961b new file mode 100644 index 0000000..20b58b9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/26/3e68faad05a0b6f93484c3b37fa7b3f0fd961b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/26/5ee5c6bf9a8e1a3e75bda2a05ae091dcf4c341 b/src/test/resources/_git_of_git_commit_id/objects/26/5ee5c6bf9a8e1a3e75bda2a05ae091dcf4c341 new file mode 100644 index 0000000..cbcf7dc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/26/5ee5c6bf9a8e1a3e75bda2a05ae091dcf4c341 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/26/b30263fc5280c1a130db4cbb10f50d6a7b9a49 b/src/test/resources/_git_of_git_commit_id/objects/26/b30263fc5280c1a130db4cbb10f50d6a7b9a49 new file mode 100644 index 0000000..c154aff Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/26/b30263fc5280c1a130db4cbb10f50d6a7b9a49 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/26/e63b5423eb4bb600433c2325ad445ef583acc2 b/src/test/resources/_git_of_git_commit_id/objects/26/e63b5423eb4bb600433c2325ad445ef583acc2 new file mode 100644 index 0000000..9320ebc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/26/e63b5423eb4bb600433c2325ad445ef583acc2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/27/142bf3ae1fcdc4a106a6cb94ca459c193d2d15 b/src/test/resources/_git_of_git_commit_id/objects/27/142bf3ae1fcdc4a106a6cb94ca459c193d2d15 new file mode 100644 index 0000000..aa15086 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/27/142bf3ae1fcdc4a106a6cb94ca459c193d2d15 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/27/653de25d5bb9662a144cfcc99eb363c17c4b7b b/src/test/resources/_git_of_git_commit_id/objects/27/653de25d5bb9662a144cfcc99eb363c17c4b7b new file mode 100644 index 0000000..4b7b0f7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/27/653de25d5bb9662a144cfcc99eb363c17c4b7b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/27/6548084dae8d9b3e496380a230a3a4982e8494 b/src/test/resources/_git_of_git_commit_id/objects/27/6548084dae8d9b3e496380a230a3a4982e8494 new file mode 100644 index 0000000..177dfea Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/27/6548084dae8d9b3e496380a230a3a4982e8494 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/27/6f066312cbf755fa3da2aad2c5d9e75532e846 b/src/test/resources/_git_of_git_commit_id/objects/27/6f066312cbf755fa3da2aad2c5d9e75532e846 new file mode 100644 index 0000000..501c5a2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/27/6f066312cbf755fa3da2aad2c5d9e75532e846 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/27/8d9884604426c1ddaf061fa1f67c2d13357598 b/src/test/resources/_git_of_git_commit_id/objects/27/8d9884604426c1ddaf061fa1f67c2d13357598 new file mode 100644 index 0000000..b0a52b3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/27/8d9884604426c1ddaf061fa1f67c2d13357598 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/27/ab7b0f5c44f42b59e3e937ffd099f612baba0a b/src/test/resources/_git_of_git_commit_id/objects/27/ab7b0f5c44f42b59e3e937ffd099f612baba0a new file mode 100644 index 0000000..73adecf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/27/ab7b0f5c44f42b59e3e937ffd099f612baba0a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/28/0df27049f6ccd286c8575fb3d1998b307334ea b/src/test/resources/_git_of_git_commit_id/objects/28/0df27049f6ccd286c8575fb3d1998b307334ea new file mode 100644 index 0000000..c82a866 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/28/0df27049f6ccd286c8575fb3d1998b307334ea differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/28/140938e3d1ff00894b66f1f3aa79a47e035149 b/src/test/resources/_git_of_git_commit_id/objects/28/140938e3d1ff00894b66f1f3aa79a47e035149 new file mode 100644 index 0000000..043e00c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/28/140938e3d1ff00894b66f1f3aa79a47e035149 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/28/5ddec4a6f3fe6d40e5c842c63eeba6e17bbed5 b/src/test/resources/_git_of_git_commit_id/objects/28/5ddec4a6f3fe6d40e5c842c63eeba6e17bbed5 new file mode 100644 index 0000000..8faf374 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/28/5ddec4a6f3fe6d40e5c842c63eeba6e17bbed5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/28/728f43f6a9619e78c560830f1db98e271cec07 b/src/test/resources/_git_of_git_commit_id/objects/28/728f43f6a9619e78c560830f1db98e271cec07 new file mode 100644 index 0000000..2ba8db5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/28/728f43f6a9619e78c560830f1db98e271cec07 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/28/b324dd131ecf66eb304fa456dda4c471ae3b89 b/src/test/resources/_git_of_git_commit_id/objects/28/b324dd131ecf66eb304fa456dda4c471ae3b89 new file mode 100644 index 0000000..c88d093 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/28/b324dd131ecf66eb304fa456dda4c471ae3b89 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/28/bf3f169fdb8b405ca1d7edf7ffbd3c89eddcc0 b/src/test/resources/_git_of_git_commit_id/objects/28/bf3f169fdb8b405ca1d7edf7ffbd3c89eddcc0 new file mode 100644 index 0000000..1b57f44 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/28/bf3f169fdb8b405ca1d7edf7ffbd3c89eddcc0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/29/06cadc71d64d1cb5843a1272d82181603254fc b/src/test/resources/_git_of_git_commit_id/objects/29/06cadc71d64d1cb5843a1272d82181603254fc new file mode 100644 index 0000000..4d5f1cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/29/06cadc71d64d1cb5843a1272d82181603254fc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/29/ad7f24d51292e7894c2ce502dad49501322b74 b/src/test/resources/_git_of_git_commit_id/objects/29/ad7f24d51292e7894c2ce502dad49501322b74 new file mode 100644 index 0000000..382e606 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/29/ad7f24d51292e7894c2ce502dad49501322b74 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/29/bf7d4e51564207e45626eacbd53133c0737442 b/src/test/resources/_git_of_git_commit_id/objects/29/bf7d4e51564207e45626eacbd53133c0737442 new file mode 100644 index 0000000..36011c3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/29/bf7d4e51564207e45626eacbd53133c0737442 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/29/c259ef356a478e1c7c9cb32269d0c4c1658572 b/src/test/resources/_git_of_git_commit_id/objects/29/c259ef356a478e1c7c9cb32269d0c4c1658572 new file mode 100644 index 0000000..c95f235 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/29/c259ef356a478e1c7c9cb32269d0c4c1658572 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/29/c2dab01f4f1a080727cafa3cc549473ad1b02c b/src/test/resources/_git_of_git_commit_id/objects/29/c2dab01f4f1a080727cafa3cc549473ad1b02c new file mode 100644 index 0000000..1210e9a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/29/c2dab01f4f1a080727cafa3cc549473ad1b02c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/29/df60858ad9779748e0e0021048c61ddaf34734 b/src/test/resources/_git_of_git_commit_id/objects/29/df60858ad9779748e0e0021048c61ddaf34734 new file mode 100644 index 0000000..fa454b1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/29/df60858ad9779748e0e0021048c61ddaf34734 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2a/14cf2eca2c8286d83edea09f9c3b0ecf8eed5b b/src/test/resources/_git_of_git_commit_id/objects/2a/14cf2eca2c8286d83edea09f9c3b0ecf8eed5b new file mode 100644 index 0000000..7e0635d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2a/14cf2eca2c8286d83edea09f9c3b0ecf8eed5b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2a/9f13d4dba0708ae01e899c83898e79ada6d3ac b/src/test/resources/_git_of_git_commit_id/objects/2a/9f13d4dba0708ae01e899c83898e79ada6d3ac new file mode 100644 index 0000000..9037c0e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2a/9f13d4dba0708ae01e899c83898e79ada6d3ac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2a/a1c64314391049b5439e2e6bae0d6be9d30ac8 b/src/test/resources/_git_of_git_commit_id/objects/2a/a1c64314391049b5439e2e6bae0d6be9d30ac8 new file mode 100644 index 0000000..2fc21a1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2a/a1c64314391049b5439e2e6bae0d6be9d30ac8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2a/d03c1ed6523df25e805e3f3debb04f1d6dfdc9 b/src/test/resources/_git_of_git_commit_id/objects/2a/d03c1ed6523df25e805e3f3debb04f1d6dfdc9 new file mode 100644 index 0000000..b9cd6b9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2a/d03c1ed6523df25e805e3f3debb04f1d6dfdc9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2a/f8d6ecb0cbfa94eb7d2aba33d9ace0728247a3 b/src/test/resources/_git_of_git_commit_id/objects/2a/f8d6ecb0cbfa94eb7d2aba33d9ace0728247a3 new file mode 100644 index 0000000..d114ff0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2a/f8d6ecb0cbfa94eb7d2aba33d9ace0728247a3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2b/1080aee54abae287c3deb4246a425af3603708 b/src/test/resources/_git_of_git_commit_id/objects/2b/1080aee54abae287c3deb4246a425af3603708 new file mode 100644 index 0000000..2f0bf29 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2b/1080aee54abae287c3deb4246a425af3603708 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2b/35e298bca47e5430d36c5b3330274f77cdc5d0 b/src/test/resources/_git_of_git_commit_id/objects/2b/35e298bca47e5430d36c5b3330274f77cdc5d0 new file mode 100644 index 0000000..aa363af Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2b/35e298bca47e5430d36c5b3330274f77cdc5d0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2b/7b6ab803b2ab3399e4446db74e6b8ac34394cd b/src/test/resources/_git_of_git_commit_id/objects/2b/7b6ab803b2ab3399e4446db74e6b8ac34394cd new file mode 100644 index 0000000..db0eb7a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2b/7b6ab803b2ab3399e4446db74e6b8ac34394cd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2b/a18cdd8338112e257794561e44a9a0ac3438c4 b/src/test/resources/_git_of_git_commit_id/objects/2b/a18cdd8338112e257794561e44a9a0ac3438c4 new file mode 100644 index 0000000..236ba89 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2b/a18cdd8338112e257794561e44a9a0ac3438c4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2b/a8db5afcd54b8024d01445c8061024be1e512e b/src/test/resources/_git_of_git_commit_id/objects/2b/a8db5afcd54b8024d01445c8061024be1e512e new file mode 100644 index 0000000..70bce0b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2b/a8db5afcd54b8024d01445c8061024be1e512e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2b/dec340b795e1b613816848746a0a9b4e1ee6d4 b/src/test/resources/_git_of_git_commit_id/objects/2b/dec340b795e1b613816848746a0a9b4e1ee6d4 new file mode 100644 index 0000000..5d11c6b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2b/dec340b795e1b613816848746a0a9b4e1ee6d4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2c/685c153f3e90adf7baab1db82f2a2aeeeb2144 b/src/test/resources/_git_of_git_commit_id/objects/2c/685c153f3e90adf7baab1db82f2a2aeeeb2144 new file mode 100644 index 0000000..36e6104 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2c/685c153f3e90adf7baab1db82f2a2aeeeb2144 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2c/ed5d5c344e3334a45632100d42eaaebbde527d b/src/test/resources/_git_of_git_commit_id/objects/2c/ed5d5c344e3334a45632100d42eaaebbde527d new file mode 100644 index 0000000..f568872 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2c/ed5d5c344e3334a45632100d42eaaebbde527d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2d/1a1e96e9347e9986c8e2dab693c97d6978d841 b/src/test/resources/_git_of_git_commit_id/objects/2d/1a1e96e9347e9986c8e2dab693c97d6978d841 new file mode 100644 index 0000000..da5ec15 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2d/1a1e96e9347e9986c8e2dab693c97d6978d841 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2d/65a74b4c873be9318b85b1d7d81fa90014ddc6 b/src/test/resources/_git_of_git_commit_id/objects/2d/65a74b4c873be9318b85b1d7d81fa90014ddc6 new file mode 100644 index 0000000..4e6623a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2d/65a74b4c873be9318b85b1d7d81fa90014ddc6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2d/7a6eab268324164ccc50dfeaa11e0bf2a9f9ec b/src/test/resources/_git_of_git_commit_id/objects/2d/7a6eab268324164ccc50dfeaa11e0bf2a9f9ec new file mode 100644 index 0000000..c726d36 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2d/7a6eab268324164ccc50dfeaa11e0bf2a9f9ec differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2d/84d98d332800e45331c35e761d1982a6365400 b/src/test/resources/_git_of_git_commit_id/objects/2d/84d98d332800e45331c35e761d1982a6365400 new file mode 100644 index 0000000..ab9983b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/2d/84d98d332800e45331c35e761d1982a6365400 @@ -0,0 +1 @@ +xKOR01c` 50K10d`j]sd g-.?[./,w^= | \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/2d/f8b890c1436129ab0c354037403266df105b79 b/src/test/resources/_git_of_git_commit_id/objects/2d/f8b890c1436129ab0c354037403266df105b79 new file mode 100644 index 0000000..9f56fe0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2d/f8b890c1436129ab0c354037403266df105b79 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2e/014a5b31183ef9cf4e4b3a24e03249954a8199 b/src/test/resources/_git_of_git_commit_id/objects/2e/014a5b31183ef9cf4e4b3a24e03249954a8199 new file mode 100644 index 0000000..3a66874 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2e/014a5b31183ef9cf4e4b3a24e03249954a8199 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2e/1832a5a66f932f3a12ca8755f6ec2a6c425428 b/src/test/resources/_git_of_git_commit_id/objects/2e/1832a5a66f932f3a12ca8755f6ec2a6c425428 new file mode 100644 index 0000000..01ba99b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/2e/1832a5a66f932f3a12ca8755f6ec2a6c425428 @@ -0,0 +1 @@ +xKj1D)zoM|nyRo͍+ [CB4M}Ye|Nj;\ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/2e/19ce0acf918f088a256c2e005b55e5f2a3606d b/src/test/resources/_git_of_git_commit_id/objects/2e/19ce0acf918f088a256c2e005b55e5f2a3606d new file mode 100644 index 0000000..b798ddb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2e/19ce0acf918f088a256c2e005b55e5f2a3606d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2e/39ea3027a3547abd71c3b6c60c4ca5388b4b68 b/src/test/resources/_git_of_git_commit_id/objects/2e/39ea3027a3547abd71c3b6c60c4ca5388b4b68 new file mode 100644 index 0000000..5507b68 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2e/39ea3027a3547abd71c3b6c60c4ca5388b4b68 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2f/945a1baea44073fef7bdd096365e8447ec60b9 b/src/test/resources/_git_of_git_commit_id/objects/2f/945a1baea44073fef7bdd096365e8447ec60b9 new file mode 100644 index 0000000..37b17fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2f/945a1baea44073fef7bdd096365e8447ec60b9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2f/ae2bb8828349f848a84748ff28d9ebcd084842 b/src/test/resources/_git_of_git_commit_id/objects/2f/ae2bb8828349f848a84748ff28d9ebcd084842 new file mode 100644 index 0000000..8259433 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/2f/ae2bb8828349f848a84748ff28d9ebcd084842 @@ -0,0 +1 @@ +xKOR01e` 50K00d`jrF΢fv|"艄I y \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/2f/ba1917bbca3c974d38ba32574ed5240ac5b35b b/src/test/resources/_git_of_git_commit_id/objects/2f/ba1917bbca3c974d38ba32574ed5240ac5b35b new file mode 100644 index 0000000..4593019 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2f/ba1917bbca3c974d38ba32574ed5240ac5b35b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2f/c21a1a28dc03f609329b729de905d206056a97 b/src/test/resources/_git_of_git_commit_id/objects/2f/c21a1a28dc03f609329b729de905d206056a97 new file mode 100644 index 0000000..44b5f0c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2f/c21a1a28dc03f609329b729de905d206056a97 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/2f/f63bd7d7dc18a7156f90a90a57948d628401ab b/src/test/resources/_git_of_git_commit_id/objects/2f/f63bd7d7dc18a7156f90a90a57948d628401ab new file mode 100644 index 0000000..dc39559 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/2f/f63bd7d7dc18a7156f90a90a57948d628401ab differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/30/52017642ec741fa9feacd3d482f37e79b83ba4 b/src/test/resources/_git_of_git_commit_id/objects/30/52017642ec741fa9feacd3d482f37e79b83ba4 new file mode 100644 index 0000000..42123ea Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/30/52017642ec741fa9feacd3d482f37e79b83ba4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/30/bad07aa277b5de5c902e170ed452a51db62626 b/src/test/resources/_git_of_git_commit_id/objects/30/bad07aa277b5de5c902e170ed452a51db62626 new file mode 100644 index 0000000..5213b30 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/30/bad07aa277b5de5c902e170ed452a51db62626 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/30/c427c6cbb3cbc47b1d8185dd01fd31e2a2a173 b/src/test/resources/_git_of_git_commit_id/objects/30/c427c6cbb3cbc47b1d8185dd01fd31e2a2a173 new file mode 100644 index 0000000..cf8abb9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/30/c427c6cbb3cbc47b1d8185dd01fd31e2a2a173 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/30/cf0d85a8cf4502d9139124a85e0f571be429ef b/src/test/resources/_git_of_git_commit_id/objects/30/cf0d85a8cf4502d9139124a85e0f571be429ef new file mode 100644 index 0000000..ab2d09d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/30/cf0d85a8cf4502d9139124a85e0f571be429ef differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/30/d8db4b9cd4a9ba7ae5f369a01ce468ef602d53 b/src/test/resources/_git_of_git_commit_id/objects/30/d8db4b9cd4a9ba7ae5f369a01ce468ef602d53 new file mode 100644 index 0000000..b9ddf42 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/30/d8db4b9cd4a9ba7ae5f369a01ce468ef602d53 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/31/6351b184dbd528bd628dcbf19bea7e4fc35d9e b/src/test/resources/_git_of_git_commit_id/objects/31/6351b184dbd528bd628dcbf19bea7e4fc35d9e new file mode 100644 index 0000000..ba3fd9f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/31/6351b184dbd528bd628dcbf19bea7e4fc35d9e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/31/76e53f847a4b56790170fb90b3e1f527a3f8bb b/src/test/resources/_git_of_git_commit_id/objects/31/76e53f847a4b56790170fb90b3e1f527a3f8bb new file mode 100644 index 0000000..63332e8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/31/76e53f847a4b56790170fb90b3e1f527a3f8bb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/31/ae89b6e0563ec71b0beb2b71d5ddf6f0bc3d0d b/src/test/resources/_git_of_git_commit_id/objects/31/ae89b6e0563ec71b0beb2b71d5ddf6f0bc3d0d new file mode 100644 index 0000000..5a480b0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/31/ae89b6e0563ec71b0beb2b71d5ddf6f0bc3d0d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/31/c5128e4098d8440c8a6f9acf41df2e298e9af2 b/src/test/resources/_git_of_git_commit_id/objects/31/c5128e4098d8440c8a6f9acf41df2e298e9af2 new file mode 100644 index 0000000..acc5694 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/31/c5128e4098d8440c8a6f9acf41df2e298e9af2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/31/c9eb7a603648544771424f4511a8407ff76477 b/src/test/resources/_git_of_git_commit_id/objects/31/c9eb7a603648544771424f4511a8407ff76477 new file mode 100644 index 0000000..8390f02 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/31/c9eb7a603648544771424f4511a8407ff76477 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/31/eeb2fd3668b19b61e283a35a6f6e125012241c b/src/test/resources/_git_of_git_commit_id/objects/31/eeb2fd3668b19b61e283a35a6f6e125012241c new file mode 100644 index 0000000..6ad65b2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/31/eeb2fd3668b19b61e283a35a6f6e125012241c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/32/16be5bdefbb1ea4e43e64b9e247d7b6becab84 b/src/test/resources/_git_of_git_commit_id/objects/32/16be5bdefbb1ea4e43e64b9e247d7b6becab84 new file mode 100644 index 0000000..754abdd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/32/16be5bdefbb1ea4e43e64b9e247d7b6becab84 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/32/21c1d2c7f880175b1e9c249cceb596a02ecf2b b/src/test/resources/_git_of_git_commit_id/objects/32/21c1d2c7f880175b1e9c249cceb596a02ecf2b new file mode 100644 index 0000000..028d86f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/32/21c1d2c7f880175b1e9c249cceb596a02ecf2b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/32/47bb597a10899fd9b6db6e0341bcfaf43e5681 b/src/test/resources/_git_of_git_commit_id/objects/32/47bb597a10899fd9b6db6e0341bcfaf43e5681 new file mode 100644 index 0000000..d92823a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/32/47bb597a10899fd9b6db6e0341bcfaf43e5681 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/32/585201a79970861e61fb6aa33802e35b4a2388 b/src/test/resources/_git_of_git_commit_id/objects/32/585201a79970861e61fb6aa33802e35b4a2388 new file mode 100644 index 0000000..081e05c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/32/585201a79970861e61fb6aa33802e35b4a2388 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/32/7ea18c0488b43b36f1573fdba5d3b22c278cb9 b/src/test/resources/_git_of_git_commit_id/objects/32/7ea18c0488b43b36f1573fdba5d3b22c278cb9 new file mode 100644 index 0000000..62016df --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/32/7ea18c0488b43b36f1573fdba5d3b22c278cb9 @@ -0,0 +1 @@ +xMJ1F]T~;0ϐTʙ'IN+zz }Q+e0:3)6(KA)x&P[\0#K2'Jy!,R4":twxG?KN<_J\'j pZh[xJJ1#ql9Ѡ'.3BnG+5s/ྯ^ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/33/1f99df3479c919161e85d88cabd51ab1e10a9c b/src/test/resources/_git_of_git_commit_id/objects/33/1f99df3479c919161e85d88cabd51ab1e10a9c new file mode 100644 index 0000000..cc39e4b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/33/1f99df3479c919161e85d88cabd51ab1e10a9c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/33/2b9d93114f4385d5bf16b66e1b4934c89031b6 b/src/test/resources/_git_of_git_commit_id/objects/33/2b9d93114f4385d5bf16b66e1b4934c89031b6 new file mode 100644 index 0000000..9aeee40 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/33/2b9d93114f4385d5bf16b66e1b4934c89031b6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/33/4c4ff5a08f4b8e4bbee11609cf0aa77c36a60f b/src/test/resources/_git_of_git_commit_id/objects/33/4c4ff5a08f4b8e4bbee11609cf0aa77c36a60f new file mode 100644 index 0000000..8fc862d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/33/4c4ff5a08f4b8e4bbee11609cf0aa77c36a60f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/33/7d50add1e986d1dc36bef84813f936325bae4d b/src/test/resources/_git_of_git_commit_id/objects/33/7d50add1e986d1dc36bef84813f936325bae4d new file mode 100644 index 0000000..b66f599 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/33/7d50add1e986d1dc36bef84813f936325bae4d @@ -0,0 +1,2 @@ +x5-Ka7La/ 0E>ld`PI&bSA- 2A08 5 w}7"$@ p KCיah)ڤ]9]5F~q> A`P~ 9)Y0Z%3A&-&ϥfQj:щ$#)P+-^ykW: +nVbNI)g|$ yBP9Ni\J4Zqi^9_p}uEx?ӹ"/#(c5p^j)QA|r&B' 0Ӟ;o +g^H|k` \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/34/fe1195c00622393be74a281fc8f55d195da641 b/src/test/resources/_git_of_git_commit_id/objects/34/fe1195c00622393be74a281fc8f55d195da641 new file mode 100644 index 0000000..cbdae3b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/34/fe1195c00622393be74a281fc8f55d195da641 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/11748f3c0af164794ac61ecb88867cdb1f03bd b/src/test/resources/_git_of_git_commit_id/objects/35/11748f3c0af164794ac61ecb88867cdb1f03bd new file mode 100644 index 0000000..e417517 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/11748f3c0af164794ac61ecb88867cdb1f03bd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/329646a1d5c5504820e5bdca81ae224f4d25dd b/src/test/resources/_git_of_git_commit_id/objects/35/329646a1d5c5504820e5bdca81ae224f4d25dd new file mode 100644 index 0000000..f7209ba Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/329646a1d5c5504820e5bdca81ae224f4d25dd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/374514548a1db1e771624db8e463e6d76ed41b b/src/test/resources/_git_of_git_commit_id/objects/35/374514548a1db1e771624db8e463e6d76ed41b new file mode 100644 index 0000000..ca41c16 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/35/374514548a1db1e771624db8e463e6d76ed41b @@ -0,0 +1 @@ +x%10 :+tO]!U؂[Y:s~$jZܑ(CEz yq9zů 7s}[7ع9B+@qr%@ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/5579560ef0d3c92bdc69c593903261231bb955 b/src/test/resources/_git_of_git_commit_id/objects/35/5579560ef0d3c92bdc69c593903261231bb955 new file mode 100644 index 0000000..395b600 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/5579560ef0d3c92bdc69c593903261231bb955 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/755207ff480bab88f2c8034dd8f751092ba4fb b/src/test/resources/_git_of_git_commit_id/objects/35/755207ff480bab88f2c8034dd8f751092ba4fb new file mode 100644 index 0000000..1550acb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/755207ff480bab88f2c8034dd8f751092ba4fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/849b42db5856799cbef600e41d25d70a3e3039 b/src/test/resources/_git_of_git_commit_id/objects/35/849b42db5856799cbef600e41d25d70a3e3039 new file mode 100644 index 0000000..5334ea9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/849b42db5856799cbef600e41d25d70a3e3039 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/8fb6b78e5ddf8d797a8a644fa25731d38b01f7 b/src/test/resources/_git_of_git_commit_id/objects/35/8fb6b78e5ddf8d797a8a644fa25731d38b01f7 new file mode 100644 index 0000000..4150d1e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/8fb6b78e5ddf8d797a8a644fa25731d38b01f7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/dbd88579a8a6962d1cb440d68f3b92a94f1f39 b/src/test/resources/_git_of_git_commit_id/objects/35/dbd88579a8a6962d1cb440d68f3b92a94f1f39 new file mode 100644 index 0000000..07b08dd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/dbd88579a8a6962d1cb440d68f3b92a94f1f39 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/35/ff3cf9854701dc0745f46769a1f3cde2143d00 b/src/test/resources/_git_of_git_commit_id/objects/35/ff3cf9854701dc0745f46769a1f3cde2143d00 new file mode 100644 index 0000000..494e7d3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/35/ff3cf9854701dc0745f46769a1f3cde2143d00 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/0ce69f76e95595681644275580615cd6271d01 b/src/test/resources/_git_of_git_commit_id/objects/36/0ce69f76e95595681644275580615cd6271d01 new file mode 100644 index 0000000..852f368 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/36/0ce69f76e95595681644275580615cd6271d01 @@ -0,0 +1,2 @@ +xMN0FY#n؎$X&uq ǧl>O/i w2^9 +sޒD)`oz}nsW1:FykIepRCr*hW4Hd|`Iy>G|}*{+EH_)/x>҅4j+{V.K8B3 TSY[}%l=w|1G 隱+5~k˼!o?L,{ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/152925d6927022208d56ab2f79bee709d15e24 b/src/test/resources/_git_of_git_commit_id/objects/36/152925d6927022208d56ab2f79bee709d15e24 new file mode 100644 index 0000000..c1e17b2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/152925d6927022208d56ab2f79bee709d15e24 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/176948c344aa3f999e55c4f8b18a0b8e352233 b/src/test/resources/_git_of_git_commit_id/objects/36/176948c344aa3f999e55c4f8b18a0b8e352233 new file mode 100644 index 0000000..b2a70a4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/176948c344aa3f999e55c4f8b18a0b8e352233 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/24b5d4925f72f8626fd50de4c179ada80d63b5 b/src/test/resources/_git_of_git_commit_id/objects/36/24b5d4925f72f8626fd50de4c179ada80d63b5 new file mode 100644 index 0000000..33fcc82 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/24b5d4925f72f8626fd50de4c179ada80d63b5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/68a4096af31b13d98c6082dad20ac157a68c9d b/src/test/resources/_git_of_git_commit_id/objects/36/68a4096af31b13d98c6082dad20ac157a68c9d new file mode 100644 index 0000000..8264b5e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/68a4096af31b13d98c6082dad20ac157a68c9d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/73cea6c76f200bee7a456c79d9380186a3508a b/src/test/resources/_git_of_git_commit_id/objects/36/73cea6c76f200bee7a456c79d9380186a3508a new file mode 100644 index 0000000..b3533ea Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/73cea6c76f200bee7a456c79d9380186a3508a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/b9124c87d43ee20bfcc8b7e627d0c070cb7679 b/src/test/resources/_git_of_git_commit_id/objects/36/b9124c87d43ee20bfcc8b7e627d0c070cb7679 new file mode 100644 index 0000000..9b2a330 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/b9124c87d43ee20bfcc8b7e627d0c070cb7679 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/36/c30c60879d551d69972fa6984b84f5b7d3cb75 b/src/test/resources/_git_of_git_commit_id/objects/36/c30c60879d551d69972fa6984b84f5b7d3cb75 new file mode 100644 index 0000000..c161577 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/36/c30c60879d551d69972fa6984b84f5b7d3cb75 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/37/62471820f9194ff74aed3bd9d2e411bac82605 b/src/test/resources/_git_of_git_commit_id/objects/37/62471820f9194ff74aed3bd9d2e411bac82605 new file mode 100644 index 0000000..66f45f9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/37/62471820f9194ff74aed3bd9d2e411bac82605 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/37/b17fc03aedd42171c866929abf16085182238d b/src/test/resources/_git_of_git_commit_id/objects/37/b17fc03aedd42171c866929abf16085182238d new file mode 100644 index 0000000..5acf2d3 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/37/b17fc03aedd42171c866929abf16085182238d @@ -0,0 +1 @@ +xKOR01a` 5ؔb`$6S*glo.t5{e-;mݥ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/37/c574f830b572f241b0c68f24cf9767fd7ed244 b/src/test/resources/_git_of_git_commit_id/objects/37/c574f830b572f241b0c68f24cf9767fd7ed244 new file mode 100644 index 0000000..30bad07 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/37/c574f830b572f241b0c68f24cf9767fd7ed244 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/37/c70676c0fc20335e630e189ba8643332a28dbb b/src/test/resources/_git_of_git_commit_id/objects/37/c70676c0fc20335e630e189ba8643332a28dbb new file mode 100644 index 0000000..b9bf822 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/37/c70676c0fc20335e630e189ba8643332a28dbb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/0310ef7257764d7a15a08ba8f0e8d4958fa070 b/src/test/resources/_git_of_git_commit_id/objects/38/0310ef7257764d7a15a08ba8f0e8d4958fa070 new file mode 100644 index 0000000..0a9f83c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/0310ef7257764d7a15a08ba8f0e8d4958fa070 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/54f3c2b7b4a7605953064821242b3450aee4f0 b/src/test/resources/_git_of_git_commit_id/objects/38/54f3c2b7b4a7605953064821242b3450aee4f0 new file mode 100644 index 0000000..ab71be5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/54f3c2b7b4a7605953064821242b3450aee4f0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/65e0223c7bac0f9c6e193b538e32c2acadc212 b/src/test/resources/_git_of_git_commit_id/objects/38/65e0223c7bac0f9c6e193b538e32c2acadc212 new file mode 100644 index 0000000..06df7fd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/65e0223c7bac0f9c6e193b538e32c2acadc212 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/ec7b6f3f93f930db7ba89e00d47c9c990c395c b/src/test/resources/_git_of_git_commit_id/objects/38/ec7b6f3f93f930db7ba89e00d47c9c990c395c new file mode 100644 index 0000000..afbde1a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/ec7b6f3f93f930db7ba89e00d47c9c990c395c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/f8c3aad93e70bb9120b7dae857a1b085e05b21 b/src/test/resources/_git_of_git_commit_id/objects/38/f8c3aad93e70bb9120b7dae857a1b085e05b21 new file mode 100644 index 0000000..6d7454e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/f8c3aad93e70bb9120b7dae857a1b085e05b21 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/fcaaf70983347d26abc42bbb37a910e290a6c3 b/src/test/resources/_git_of_git_commit_id/objects/38/fcaaf70983347d26abc42bbb37a910e290a6c3 new file mode 100644 index 0000000..2632d8c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/fcaaf70983347d26abc42bbb37a910e290a6c3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/38/fcb444489e9b4c70949414668c4e2cdd7f865e b/src/test/resources/_git_of_git_commit_id/objects/38/fcb444489e9b4c70949414668c4e2cdd7f865e new file mode 100644 index 0000000..938975a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/38/fcb444489e9b4c70949414668c4e2cdd7f865e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/39/5957c919de806e81b235c73a3e753861b711fb b/src/test/resources/_git_of_git_commit_id/objects/39/5957c919de806e81b235c73a3e753861b711fb new file mode 100644 index 0000000..39d1a99 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/39/5957c919de806e81b235c73a3e753861b711fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/39/6730d7577266c4992ebd429e4e6f9162c6070c b/src/test/resources/_git_of_git_commit_id/objects/39/6730d7577266c4992ebd429e4e6f9162c6070c new file mode 100644 index 0000000..f2cdd8b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/39/6730d7577266c4992ebd429e4e6f9162c6070c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/39/a7889c5c35899a402169342ee09f38d755f0a4 b/src/test/resources/_git_of_git_commit_id/objects/39/a7889c5c35899a402169342ee09f38d755f0a4 new file mode 100644 index 0000000..a116ce5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/39/a7889c5c35899a402169342ee09f38d755f0a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/39/d6fb378c09665f44c72763c61215fde7afd88a b/src/test/resources/_git_of_git_commit_id/objects/39/d6fb378c09665f44c72763c61215fde7afd88a new file mode 100644 index 0000000..5895e80 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/39/d6fb378c09665f44c72763c61215fde7afd88a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/39/fa6b77b166f00660477f042ac32a7b2d7bdce7 b/src/test/resources/_git_of_git_commit_id/objects/39/fa6b77b166f00660477f042ac32a7b2d7bdce7 new file mode 100644 index 0000000..1a96aed Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/39/fa6b77b166f00660477f042ac32a7b2d7bdce7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/18f1fcc0bb2bad3833ff2dc0664c3b55633c7f b/src/test/resources/_git_of_git_commit_id/objects/3a/18f1fcc0bb2bad3833ff2dc0664c3b55633c7f new file mode 100644 index 0000000..3f0ec39 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/18f1fcc0bb2bad3833ff2dc0664c3b55633c7f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/3b2b6dbad13bdccebeb1aeb24bf3c4d0c00a8f b/src/test/resources/_git_of_git_commit_id/objects/3a/3b2b6dbad13bdccebeb1aeb24bf3c4d0c00a8f new file mode 100644 index 0000000..ed98690 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/3a/3b2b6dbad13bdccebeb1aeb24bf3c4d0c00a8f @@ -0,0 +1,4 @@ +x5j0{/BɡC +eը"#+5&~ JΩK̠ь*Q';ˈ-[}+*+:2A0Jc]05)5G +n4cy+SPH5Jfp#Ann +rt N }~qC_} FD\*G +TB+pJ=Տh_V \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/4f981224b918b76b646c389f717eff88770be1 b/src/test/resources/_git_of_git_commit_id/objects/3a/4f981224b918b76b646c389f717eff88770be1 new file mode 100644 index 0000000..dbec6a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/4f981224b918b76b646c389f717eff88770be1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/66874199809d014215d195b0b13bb6514659ff b/src/test/resources/_git_of_git_commit_id/objects/3a/66874199809d014215d195b0b13bb6514659ff new file mode 100644 index 0000000..bc5eacd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/66874199809d014215d195b0b13bb6514659ff differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/68f53f8c30ac4e6be5822f7aa5d23dc09a13c7 b/src/test/resources/_git_of_git_commit_id/objects/3a/68f53f8c30ac4e6be5822f7aa5d23dc09a13c7 new file mode 100644 index 0000000..976f305 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/68f53f8c30ac4e6be5822f7aa5d23dc09a13c7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/6a2396d6a90db8984208d6ec4021e0bc4be570 b/src/test/resources/_git_of_git_commit_id/objects/3a/6a2396d6a90db8984208d6ec4021e0bc4be570 new file mode 100644 index 0000000..386392b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/6a2396d6a90db8984208d6ec4021e0bc4be570 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/a6a11e960997061b5978310848fe1bce0513e4 b/src/test/resources/_git_of_git_commit_id/objects/3a/a6a11e960997061b5978310848fe1bce0513e4 new file mode 100644 index 0000000..832fcbd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/a6a11e960997061b5978310848fe1bce0513e4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/a93974d762676a65bed2fd507c3dce9dcf1827 b/src/test/resources/_git_of_git_commit_id/objects/3a/a93974d762676a65bed2fd507c3dce9dcf1827 new file mode 100644 index 0000000..2a9acb4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/a93974d762676a65bed2fd507c3dce9dcf1827 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/b78135458cf456e20b7c79c891ee614ebdb814 b/src/test/resources/_git_of_git_commit_id/objects/3a/b78135458cf456e20b7c79c891ee614ebdb814 new file mode 100644 index 0000000..87dfea5 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/3a/b78135458cf456e20b7c79c891ee614ebdb814 @@ -0,0 +1 @@ +xKOR01c` 50K00d`j}(mKȜC_Ԏ:68'B \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/c5247a1a1ead8ef404423609e2fba56091367d b/src/test/resources/_git_of_git_commit_id/objects/3a/c5247a1a1ead8ef404423609e2fba56091367d new file mode 100644 index 0000000..5aa3b0f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/c5247a1a1ead8ef404423609e2fba56091367d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3a/cc7d8dcb1b3d6ee640825df8df9689f50012bf b/src/test/resources/_git_of_git_commit_id/objects/3a/cc7d8dcb1b3d6ee640825df8df9689f50012bf new file mode 100644 index 0000000..ebe5743 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3a/cc7d8dcb1b3d6ee640825df8df9689f50012bf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/1c553b4887cbf91164f77cf65ca13957c5ac9f b/src/test/resources/_git_of_git_commit_id/objects/3b/1c553b4887cbf91164f77cf65ca13957c5ac9f new file mode 100644 index 0000000..4d3ffcc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/1c553b4887cbf91164f77cf65ca13957c5ac9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/26e3edb27c95848cafb55b5b14428f2086ecf1 b/src/test/resources/_git_of_git_commit_id/objects/3b/26e3edb27c95848cafb55b5b14428f2086ecf1 new file mode 100644 index 0000000..59df513 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/26e3edb27c95848cafb55b5b14428f2086ecf1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/3101070024eaeae82be59df32b60c756c8318e b/src/test/resources/_git_of_git_commit_id/objects/3b/3101070024eaeae82be59df32b60c756c8318e new file mode 100644 index 0000000..f45ce15 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/3101070024eaeae82be59df32b60c756c8318e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/535d8d498bf5714f3dec8ecb0e46dce08d5b9f b/src/test/resources/_git_of_git_commit_id/objects/3b/535d8d498bf5714f3dec8ecb0e46dce08d5b9f new file mode 100644 index 0000000..0c7d4e0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/535d8d498bf5714f3dec8ecb0e46dce08d5b9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/7a36ea55bd5d6bb385f47d78f81b89c9e165dc b/src/test/resources/_git_of_git_commit_id/objects/3b/7a36ea55bd5d6bb385f47d78f81b89c9e165dc new file mode 100644 index 0000000..968228d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/7a36ea55bd5d6bb385f47d78f81b89c9e165dc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/8ecebd6fa8e5c130662310b04fda4a26504212 b/src/test/resources/_git_of_git_commit_id/objects/3b/8ecebd6fa8e5c130662310b04fda4a26504212 new file mode 100644 index 0000000..12c866a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/8ecebd6fa8e5c130662310b04fda4a26504212 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/e1c823b9cafe5fd7a92332b5dc8e8fa70f120a b/src/test/resources/_git_of_git_commit_id/objects/3b/e1c823b9cafe5fd7a92332b5dc8e8fa70f120a new file mode 100644 index 0000000..e43bf56 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/e1c823b9cafe5fd7a92332b5dc8e8fa70f120a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3b/f563bf349bc6566626afbbb09909ec91709ff6 b/src/test/resources/_git_of_git_commit_id/objects/3b/f563bf349bc6566626afbbb09909ec91709ff6 new file mode 100644 index 0000000..b916b5d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3b/f563bf349bc6566626afbbb09909ec91709ff6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3c/0d606675a8bb92e2a65ae1e6e892cb245b7fe5 b/src/test/resources/_git_of_git_commit_id/objects/3c/0d606675a8bb92e2a65ae1e6e892cb245b7fe5 new file mode 100644 index 0000000..38fcb44 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3c/0d606675a8bb92e2a65ae1e6e892cb245b7fe5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3c/7dbd226418ad742b89ce73d86900b18d41dbb2 b/src/test/resources/_git_of_git_commit_id/objects/3c/7dbd226418ad742b89ce73d86900b18d41dbb2 new file mode 100644 index 0000000..f195902 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3c/7dbd226418ad742b89ce73d86900b18d41dbb2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3c/cadd320bb5da2e11173fc85b5c48612c33aa10 b/src/test/resources/_git_of_git_commit_id/objects/3c/cadd320bb5da2e11173fc85b5c48612c33aa10 new file mode 100644 index 0000000..7d79870 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3c/cadd320bb5da2e11173fc85b5c48612c33aa10 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3c/dc93dc60366bead9a278f6a7555b651f26993a b/src/test/resources/_git_of_git_commit_id/objects/3c/dc93dc60366bead9a278f6a7555b651f26993a new file mode 100644 index 0000000..6972ce7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3c/dc93dc60366bead9a278f6a7555b651f26993a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3d/2920d38d112b74348c2ba43d7baf1d48790626 b/src/test/resources/_git_of_git_commit_id/objects/3d/2920d38d112b74348c2ba43d7baf1d48790626 new file mode 100644 index 0000000..954b4bc --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/3d/2920d38d112b74348c2ba43d7baf1d48790626 @@ -0,0 +1 @@ +x+)JMU03c040031QH4L631641440L22RR͒S R̒R-S -IIiai4hKKlYص \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/3d/5eba50d8fd317a5013af1385669b96c30845e8 b/src/test/resources/_git_of_git_commit_id/objects/3d/5eba50d8fd317a5013af1385669b96c30845e8 new file mode 100644 index 0000000..909216f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3d/5eba50d8fd317a5013af1385669b96c30845e8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3d/c50ae7d681da8af987040f69eba21d49921183 b/src/test/resources/_git_of_git_commit_id/objects/3d/c50ae7d681da8af987040f69eba21d49921183 new file mode 100644 index 0000000..4ced98d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3d/c50ae7d681da8af987040f69eba21d49921183 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3d/df51a04848c952ec9f15279944671b637a55ce b/src/test/resources/_git_of_git_commit_id/objects/3d/df51a04848c952ec9f15279944671b637a55ce new file mode 100644 index 0000000..03c474d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3d/df51a04848c952ec9f15279944671b637a55ce differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3d/e59414b4bdd27dbc2a763e080024bb3e285acc b/src/test/resources/_git_of_git_commit_id/objects/3d/e59414b4bdd27dbc2a763e080024bb3e285acc new file mode 100644 index 0000000..f2886dc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3d/e59414b4bdd27dbc2a763e080024bb3e285acc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3d/eae7d2c16a4b3de9d1d9ae6a6f194b13db12b9 b/src/test/resources/_git_of_git_commit_id/objects/3d/eae7d2c16a4b3de9d1d9ae6a6f194b13db12b9 new file mode 100644 index 0000000..3a3e0f8 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/3d/eae7d2c16a4b3de9d1d9ae6a6f194b13db12b9 @@ -0,0 +1,2 @@ +x-έJDA V5,"s|MFI3gFnkA&Mb0־ _ #>xs *%AD1ILDW/jÉf˜:|oٿ~ ٕ( +m*C%`Rw^6n_Wx0mU ,4 $gٳT{O÷M'dj#CqNtBĶ 9yY'X)q_s.7_jf2x[!U \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/3e/726b605fe54ce439367037e00cbaa1b2348dc0 b/src/test/resources/_git_of_git_commit_id/objects/3e/726b605fe54ce439367037e00cbaa1b2348dc0 new file mode 100644 index 0000000..5a62b70 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3e/726b605fe54ce439367037e00cbaa1b2348dc0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3e/82eaeaa264eab082cc339571f44d9acb3ee7a6 b/src/test/resources/_git_of_git_commit_id/objects/3e/82eaeaa264eab082cc339571f44d9acb3ee7a6 new file mode 100644 index 0000000..29e186b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3e/82eaeaa264eab082cc339571f44d9acb3ee7a6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3e/c17dcf9222aebb5e534079a3da0f5ea552bc7e b/src/test/resources/_git_of_git_commit_id/objects/3e/c17dcf9222aebb5e534079a3da0f5ea552bc7e new file mode 100644 index 0000000..765a414 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3e/c17dcf9222aebb5e534079a3da0f5ea552bc7e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3e/d9dc52167de1d4306ebf616622e204b1abe7a5 b/src/test/resources/_git_of_git_commit_id/objects/3e/d9dc52167de1d4306ebf616622e204b1abe7a5 new file mode 100644 index 0000000..e24360d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3e/d9dc52167de1d4306ebf616622e204b1abe7a5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3e/eea7938c591036ad567c1fbdff48e5362527e4 b/src/test/resources/_git_of_git_commit_id/objects/3e/eea7938c591036ad567c1fbdff48e5362527e4 new file mode 100644 index 0000000..ad41d83 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3e/eea7938c591036ad567c1fbdff48e5362527e4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3f/4d64778b43b9ad980cfa17a4123bad1ece2f9f b/src/test/resources/_git_of_git_commit_id/objects/3f/4d64778b43b9ad980cfa17a4123bad1ece2f9f new file mode 100644 index 0000000..69d24e2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3f/4d64778b43b9ad980cfa17a4123bad1ece2f9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3f/a6df437d2484b5169fa311ad568dce89480020 b/src/test/resources/_git_of_git_commit_id/objects/3f/a6df437d2484b5169fa311ad568dce89480020 new file mode 100644 index 0000000..46aff32 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3f/a6df437d2484b5169fa311ad568dce89480020 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3f/aba01b8bf85331adbeb677d3a36e4733073695 b/src/test/resources/_git_of_git_commit_id/objects/3f/aba01b8bf85331adbeb677d3a36e4733073695 new file mode 100644 index 0000000..8ed1a3c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3f/aba01b8bf85331adbeb677d3a36e4733073695 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3f/b90844f70dab66995903045496c300f75b2cc3 b/src/test/resources/_git_of_git_commit_id/objects/3f/b90844f70dab66995903045496c300f75b2cc3 new file mode 100644 index 0000000..cec3604 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3f/b90844f70dab66995903045496c300f75b2cc3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3f/d6634c985f5dd35237c215deb4c0cbc4a2ca22 b/src/test/resources/_git_of_git_commit_id/objects/3f/d6634c985f5dd35237c215deb4c0cbc4a2ca22 new file mode 100644 index 0000000..dcc6edf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/3f/d6634c985f5dd35237c215deb4c0cbc4a2ca22 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/3f/d9ba8339c5a6ad25df59a110fc7af5139866f7 b/src/test/resources/_git_of_git_commit_id/objects/3f/d9ba8339c5a6ad25df59a110fc7af5139866f7 new file mode 100644 index 0000000..a6a8374 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/3f/d9ba8339c5a6ad25df59a110fc7af5139866f7 @@ -0,0 +1,4 @@ +x-ϭKQYPhPD`繗,@}"" c AX`Uâeb tw8R3J +3MC +'l1XoV{Zx \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/2b5c4f783072582c9348322ac92346547685d4 b/src/test/resources/_git_of_git_commit_id/objects/47/2b5c4f783072582c9348322ac92346547685d4 new file mode 100644 index 0000000..ba6d629 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/2b5c4f783072582c9348322ac92346547685d4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/4a53c1f6f40a763f75841b955169d2e5574c26 b/src/test/resources/_git_of_git_commit_id/objects/47/4a53c1f6f40a763f75841b955169d2e5574c26 new file mode 100644 index 0000000..84f8e15 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/4a53c1f6f40a763f75841b955169d2e5574c26 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/5c4a650fc2fe4afb499d5fcaad254c08022c6d b/src/test/resources/_git_of_git_commit_id/objects/47/5c4a650fc2fe4afb499d5fcaad254c08022c6d new file mode 100644 index 0000000..18eddfd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/5c4a650fc2fe4afb499d5fcaad254c08022c6d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/65f827806bdf86e45612db0c002256468f216c b/src/test/resources/_git_of_git_commit_id/objects/47/65f827806bdf86e45612db0c002256468f216c new file mode 100644 index 0000000..dead6f4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/65f827806bdf86e45612db0c002256468f216c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/89bb7bdd08c26b5f8ff4432c1a6a955acf3ff1 b/src/test/resources/_git_of_git_commit_id/objects/47/89bb7bdd08c26b5f8ff4432c1a6a955acf3ff1 new file mode 100644 index 0000000..9247232 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/89bb7bdd08c26b5f8ff4432c1a6a955acf3ff1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/90aa8acb8897a21204206164496156ea5e75d1 b/src/test/resources/_git_of_git_commit_id/objects/47/90aa8acb8897a21204206164496156ea5e75d1 new file mode 100644 index 0000000..207854c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/90aa8acb8897a21204206164496156ea5e75d1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/47/edbafb597d9079a5a4f183b858af838796e30f b/src/test/resources/_git_of_git_commit_id/objects/47/edbafb597d9079a5a4f183b858af838796e30f new file mode 100644 index 0000000..d1b0bd9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/47/edbafb597d9079a5a4f183b858af838796e30f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/48/096bdc0aafd44cebdb61ac3a96af9a52ab536e b/src/test/resources/_git_of_git_commit_id/objects/48/096bdc0aafd44cebdb61ac3a96af9a52ab536e new file mode 100644 index 0000000..81e833f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/48/096bdc0aafd44cebdb61ac3a96af9a52ab536e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/48/0e37a40f75d189ca03669beb42be332a5d5f68 b/src/test/resources/_git_of_git_commit_id/objects/48/0e37a40f75d189ca03669beb42be332a5d5f68 new file mode 100644 index 0000000..bbad5eb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/48/0e37a40f75d189ca03669beb42be332a5d5f68 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/48/5a47c645f5f51d1c4c939dfceae50ce15a35b9 b/src/test/resources/_git_of_git_commit_id/objects/48/5a47c645f5f51d1c4c939dfceae50ce15a35b9 new file mode 100644 index 0000000..2ba18cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/48/5a47c645f5f51d1c4c939dfceae50ce15a35b9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/36dceab0aac0e797537e382b42e1637bc85491 b/src/test/resources/_git_of_git_commit_id/objects/49/36dceab0aac0e797537e382b42e1637bc85491 new file mode 100644 index 0000000..386a346 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/36dceab0aac0e797537e382b42e1637bc85491 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/408c4300266cca3b41b2ad78a1a6fd6086db35 b/src/test/resources/_git_of_git_commit_id/objects/49/408c4300266cca3b41b2ad78a1a6fd6086db35 new file mode 100644 index 0000000..d66d3fe Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/408c4300266cca3b41b2ad78a1a6fd6086db35 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/7d50b7a85db12aa642d3c99b2c24a8f9e23032 b/src/test/resources/_git_of_git_commit_id/objects/49/7d50b7a85db12aa642d3c99b2c24a8f9e23032 new file mode 100644 index 0000000..0317785 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/7d50b7a85db12aa642d3c99b2c24a8f9e23032 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/8b267a8c7812490d6479839c5577eaaec79d62 b/src/test/resources/_git_of_git_commit_id/objects/49/8b267a8c7812490d6479839c5577eaaec79d62 new file mode 100644 index 0000000..b558235 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/8b267a8c7812490d6479839c5577eaaec79d62 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/96c89dd743270bfd5a68860cfa12efc8904e58 b/src/test/resources/_git_of_git_commit_id/objects/49/96c89dd743270bfd5a68860cfa12efc8904e58 new file mode 100644 index 0000000..e62d439 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/49/96c89dd743270bfd5a68860cfa12efc8904e58 @@ -0,0 +1,2 @@ +x--KDAkt69` dgp`nl5VEآXDL AowgR0- ,J( +ER3g'O_fzf#8eGBȉu@WC,G_ocO; @ m(2 Coum=/ʪ5]nf ˜#_D4Zu`Z;8 ] \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/abbe5e29e5a1917737e1a66eea33bdbb0497b7 b/src/test/resources/_git_of_git_commit_id/objects/49/abbe5e29e5a1917737e1a66eea33bdbb0497b7 new file mode 100644 index 0000000..6cc2fc1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/abbe5e29e5a1917737e1a66eea33bdbb0497b7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/bfd68cc8dd83e3be9b7b095e566523c89bf85f b/src/test/resources/_git_of_git_commit_id/objects/49/bfd68cc8dd83e3be9b7b095e566523c89bf85f new file mode 100644 index 0000000..74560b8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/bfd68cc8dd83e3be9b7b095e566523c89bf85f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/49/c3b64ccb5dc87e8397dd333104dda8de9224d2 b/src/test/resources/_git_of_git_commit_id/objects/49/c3b64ccb5dc87e8397dd333104dda8de9224d2 new file mode 100644 index 0000000..62b1937 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/49/c3b64ccb5dc87e8397dd333104dda8de9224d2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4a/011064c38441d6056b9e1bf65278539f1f0ecf b/src/test/resources/_git_of_git_commit_id/objects/4a/011064c38441d6056b9e1bf65278539f1f0ecf new file mode 100644 index 0000000..41697ed Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4a/011064c38441d6056b9e1bf65278539f1f0ecf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4a/4fd7d38059f84524f4bcebd3d79ff80ca053f4 b/src/test/resources/_git_of_git_commit_id/objects/4a/4fd7d38059f84524f4bcebd3d79ff80ca053f4 new file mode 100644 index 0000000..ad2f3a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4a/4fd7d38059f84524f4bcebd3d79ff80ca053f4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4a/68c84f45a3525d4448d07a7e86edd01f3c5e81 b/src/test/resources/_git_of_git_commit_id/objects/4a/68c84f45a3525d4448d07a7e86edd01f3c5e81 new file mode 100644 index 0000000..f92e351 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4a/68c84f45a3525d4448d07a7e86edd01f3c5e81 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4a/6dc478590449f121f6b0a926e8735dc8040cdd b/src/test/resources/_git_of_git_commit_id/objects/4a/6dc478590449f121f6b0a926e8735dc8040cdd new file mode 100644 index 0000000..b5d8798 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4a/6dc478590449f121f6b0a926e8735dc8040cdd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4a/94d7881bf4b383d34d9f70b549cfde4db73308 b/src/test/resources/_git_of_git_commit_id/objects/4a/94d7881bf4b383d34d9f70b549cfde4db73308 new file mode 100644 index 0000000..cf8e625 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4a/94d7881bf4b383d34d9f70b549cfde4db73308 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4a/d668f13e6fa32c7e2b17884e875010b5aecbde b/src/test/resources/_git_of_git_commit_id/objects/4a/d668f13e6fa32c7e2b17884e875010b5aecbde new file mode 100644 index 0000000..4016ea7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4a/d668f13e6fa32c7e2b17884e875010b5aecbde differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4b/e824edc3e7880b1671a7169555494b9481c0ad b/src/test/resources/_git_of_git_commit_id/objects/4b/e824edc3e7880b1671a7169555494b9481c0ad new file mode 100644 index 0000000..6ae79bb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4b/e824edc3e7880b1671a7169555494b9481c0ad differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/1333b2edabe924dcdaf3202b0eafe040b94784 b/src/test/resources/_git_of_git_commit_id/objects/4c/1333b2edabe924dcdaf3202b0eafe040b94784 new file mode 100644 index 0000000..7a4f6a4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/1333b2edabe924dcdaf3202b0eafe040b94784 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/49515673997f9b4646559fd46504bfa710796c b/src/test/resources/_git_of_git_commit_id/objects/4c/49515673997f9b4646559fd46504bfa710796c new file mode 100644 index 0000000..ed1c72a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/49515673997f9b4646559fd46504bfa710796c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/67d92c82c45d0ce194e45456fabab9787bbf6a b/src/test/resources/_git_of_git_commit_id/objects/4c/67d92c82c45d0ce194e45456fabab9787bbf6a new file mode 100644 index 0000000..09305a8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/67d92c82c45d0ce194e45456fabab9787bbf6a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/6f20ad2b4ee815031315821b8b80ca5e7f9d07 b/src/test/resources/_git_of_git_commit_id/objects/4c/6f20ad2b4ee815031315821b8b80ca5e7f9d07 new file mode 100644 index 0000000..c138fe3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/6f20ad2b4ee815031315821b8b80ca5e7f9d07 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/a2c395d6c851a67c0d281b78f11e48b5c6734c b/src/test/resources/_git_of_git_commit_id/objects/4c/a2c395d6c851a67c0d281b78f11e48b5c6734c new file mode 100644 index 0000000..b0b94f4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/a2c395d6c851a67c0d281b78f11e48b5c6734c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/a8e6f6edb9eaf268f1ff6239426f57b794252b b/src/test/resources/_git_of_git_commit_id/objects/4c/a8e6f6edb9eaf268f1ff6239426f57b794252b new file mode 100644 index 0000000..032736e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/a8e6f6edb9eaf268f1ff6239426f57b794252b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/beb71510e296a1e25cb248202e5a31f08c6bfd b/src/test/resources/_git_of_git_commit_id/objects/4c/beb71510e296a1e25cb248202e5a31f08c6bfd new file mode 100644 index 0000000..a208d93 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/beb71510e296a1e25cb248202e5a31f08c6bfd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4c/e7e847d140572c72c2a0b9c189f1e8e6c17249 b/src/test/resources/_git_of_git_commit_id/objects/4c/e7e847d140572c72c2a0b9c189f1e8e6c17249 new file mode 100644 index 0000000..01ef961 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4c/e7e847d140572c72c2a0b9c189f1e8e6c17249 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/0e50e503672eacbc7f364c37286e6cd32f5e69 b/src/test/resources/_git_of_git_commit_id/objects/4d/0e50e503672eacbc7f364c37286e6cd32f5e69 new file mode 100644 index 0000000..a020c1f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/0e50e503672eacbc7f364c37286e6cd32f5e69 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/1fdb452ff546f448378fae732088b095324a14 b/src/test/resources/_git_of_git_commit_id/objects/4d/1fdb452ff546f448378fae732088b095324a14 new file mode 100644 index 0000000..2849e32 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/1fdb452ff546f448378fae732088b095324a14 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/3ffccd4212259b5051e0aa00aa08ec636442f6 b/src/test/resources/_git_of_git_commit_id/objects/4d/3ffccd4212259b5051e0aa00aa08ec636442f6 new file mode 100644 index 0000000..588a4e4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/3ffccd4212259b5051e0aa00aa08ec636442f6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/48f9383eb441b5fca017b2f1cef6472f2e9477 b/src/test/resources/_git_of_git_commit_id/objects/4d/48f9383eb441b5fca017b2f1cef6472f2e9477 new file mode 100644 index 0000000..08a2ccd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/48f9383eb441b5fca017b2f1cef6472f2e9477 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/a77b872985c2e857de7468c30216b57a362ff4 b/src/test/resources/_git_of_git_commit_id/objects/4d/a77b872985c2e857de7468c30216b57a362ff4 new file mode 100644 index 0000000..909225a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/a77b872985c2e857de7468c30216b57a362ff4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/ada0c136e823c09f419a05f242b5f952b3381e b/src/test/resources/_git_of_git_commit_id/objects/4d/ada0c136e823c09f419a05f242b5f952b3381e new file mode 100644 index 0000000..ce23d73 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/ada0c136e823c09f419a05f242b5f952b3381e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/b9cb22a21f789207ed96596d1657b109bd42e3 b/src/test/resources/_git_of_git_commit_id/objects/4d/b9cb22a21f789207ed96596d1657b109bd42e3 new file mode 100644 index 0000000..13ecaca Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/b9cb22a21f789207ed96596d1657b109bd42e3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/f131b1d7f45d96c7dde5a7064995f9af283f1b b/src/test/resources/_git_of_git_commit_id/objects/4d/f131b1d7f45d96c7dde5a7064995f9af283f1b new file mode 100644 index 0000000..6a3cf3c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/f131b1d7f45d96c7dde5a7064995f9af283f1b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/f5782e8e1c99745e3d6e543b062c3efd5a61c1 b/src/test/resources/_git_of_git_commit_id/objects/4d/f5782e8e1c99745e3d6e543b062c3efd5a61c1 new file mode 100644 index 0000000..d8ce297 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/f5782e8e1c99745e3d6e543b062c3efd5a61c1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4d/f6224750db63b5d65bcb6562c6e7b1cc45ade9 b/src/test/resources/_git_of_git_commit_id/objects/4d/f6224750db63b5d65bcb6562c6e7b1cc45ade9 new file mode 100644 index 0000000..c4692ff Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4d/f6224750db63b5d65bcb6562c6e7b1cc45ade9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4e/60352a52047e9d131b4cb7f2a188d89bfb6084 b/src/test/resources/_git_of_git_commit_id/objects/4e/60352a52047e9d131b4cb7f2a188d89bfb6084 new file mode 100644 index 0000000..a639736 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4e/60352a52047e9d131b4cb7f2a188d89bfb6084 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4e/d496e2f2b5808fb2f33b336cffa9bdc54aa1a5 b/src/test/resources/_git_of_git_commit_id/objects/4e/d496e2f2b5808fb2f33b336cffa9bdc54aa1a5 new file mode 100644 index 0000000..285ddec Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4e/d496e2f2b5808fb2f33b336cffa9bdc54aa1a5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4e/ea8188e43b21e93b2c22bfac1a97fb156c4fc6 b/src/test/resources/_git_of_git_commit_id/objects/4e/ea8188e43b21e93b2c22bfac1a97fb156c4fc6 new file mode 100644 index 0000000..4c23036 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4e/ea8188e43b21e93b2c22bfac1a97fb156c4fc6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4e/fdaa9ccab4af8525a2af3c4606293d4daf7862 b/src/test/resources/_git_of_git_commit_id/objects/4e/fdaa9ccab4af8525a2af3c4606293d4daf7862 new file mode 100644 index 0000000..5f6868a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4e/fdaa9ccab4af8525a2af3c4606293d4daf7862 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4f/007e39b29b5918e98911ad3aec58ea3848ec12 b/src/test/resources/_git_of_git_commit_id/objects/4f/007e39b29b5918e98911ad3aec58ea3848ec12 new file mode 100644 index 0000000..daea560 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4f/007e39b29b5918e98911ad3aec58ea3848ec12 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4f/289286c0a6a552bdc59b558ff08f465cd0b100 b/src/test/resources/_git_of_git_commit_id/objects/4f/289286c0a6a552bdc59b558ff08f465cd0b100 new file mode 100644 index 0000000..b2287e2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4f/289286c0a6a552bdc59b558ff08f465cd0b100 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4f/2f6f6eab5852939ac34deeb886d1dbe3bce592 b/src/test/resources/_git_of_git_commit_id/objects/4f/2f6f6eab5852939ac34deeb886d1dbe3bce592 new file mode 100644 index 0000000..8da8389 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4f/2f6f6eab5852939ac34deeb886d1dbe3bce592 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4f/37c4301549060abf7297cda53910d31d35c219 b/src/test/resources/_git_of_git_commit_id/objects/4f/37c4301549060abf7297cda53910d31d35c219 new file mode 100644 index 0000000..8912de9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4f/37c4301549060abf7297cda53910d31d35c219 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4f/43f8ec45338151c50a4b14286842cda291f4d1 b/src/test/resources/_git_of_git_commit_id/objects/4f/43f8ec45338151c50a4b14286842cda291f4d1 new file mode 100644 index 0000000..4ffafd6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/4f/43f8ec45338151c50a4b14286842cda291f4d1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/4f/445f8edc9ddd981e719c20553f6227712dada9 b/src/test/resources/_git_of_git_commit_id/objects/4f/445f8edc9ddd981e719c20553f6227712dada9 new file mode 100644 index 0000000..22c1751 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/4f/445f8edc9ddd981e719c20553f6227712dada9 @@ -0,0 +1 @@ +xMJD1]t x Ipb$ pWAUvLDs&lnUU%WKܙbbC?'NI0zBV1z6K#|S#/) < rͽ 'k"zh:wH <.6C*PI6] \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/53/2f3f4dc86d9055bb7d198f8a2daddd95b2e923 b/src/test/resources/_git_of_git_commit_id/objects/53/2f3f4dc86d9055bb7d198f8a2daddd95b2e923 new file mode 100644 index 0000000..f22f2f6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/53/2f3f4dc86d9055bb7d198f8a2daddd95b2e923 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/53/87e4cfa6c774ae387365d9a1f04584880f15c3 b/src/test/resources/_git_of_git_commit_id/objects/53/87e4cfa6c774ae387365d9a1f04584880f15c3 new file mode 100644 index 0000000..c2a8b54 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/53/87e4cfa6c774ae387365d9a1f04584880f15c3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/53/956e7eccfdbd05a82db0a0b8a7ea1fea13c4c6 b/src/test/resources/_git_of_git_commit_id/objects/53/956e7eccfdbd05a82db0a0b8a7ea1fea13c4c6 new file mode 100644 index 0000000..9ebfee8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/53/956e7eccfdbd05a82db0a0b8a7ea1fea13c4c6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/53/c18e44ffc8df35d4aec8e468f595579710b004 b/src/test/resources/_git_of_git_commit_id/objects/53/c18e44ffc8df35d4aec8e468f595579710b004 new file mode 100644 index 0000000..3221c1d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/53/c18e44ffc8df35d4aec8e468f595579710b004 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/53/d6e5b7e6f432076660a198f9698bbe94cf3f0f b/src/test/resources/_git_of_git_commit_id/objects/53/d6e5b7e6f432076660a198f9698bbe94cf3f0f new file mode 100644 index 0000000..c25084a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/53/d6e5b7e6f432076660a198f9698bbe94cf3f0f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/1a5e21d31eabaf9dd94a8b2ab381c4ca664766 b/src/test/resources/_git_of_git_commit_id/objects/54/1a5e21d31eabaf9dd94a8b2ab381c4ca664766 new file mode 100644 index 0000000..5e1bf6d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/54/1a5e21d31eabaf9dd94a8b2ab381c4ca664766 @@ -0,0 +1 @@ +xKOR05d` 50K60d`jmZg͕'Bmknݣ|rEQǠ4_7r \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/473774ac28fe67ff71eacc94dd2611fe54b716 b/src/test/resources/_git_of_git_commit_id/objects/54/473774ac28fe67ff71eacc94dd2611fe54b716 new file mode 100644 index 0000000..24d65f1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/473774ac28fe67ff71eacc94dd2611fe54b716 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/4e606000473a74e20e4a89b28ec8d14197a13b b/src/test/resources/_git_of_git_commit_id/objects/54/4e606000473a74e20e4a89b28ec8d14197a13b new file mode 100644 index 0000000..b039a59 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/4e606000473a74e20e4a89b28ec8d14197a13b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/5a19bfdc9dcdea58664b982575e82489335e17 b/src/test/resources/_git_of_git_commit_id/objects/54/5a19bfdc9dcdea58664b982575e82489335e17 new file mode 100644 index 0000000..e7ea5b7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/5a19bfdc9dcdea58664b982575e82489335e17 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/7976bfe3528a00c0acbaa9e2cc9d2478ccabda b/src/test/resources/_git_of_git_commit_id/objects/54/7976bfe3528a00c0acbaa9e2cc9d2478ccabda new file mode 100644 index 0000000..d0b7a78 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/7976bfe3528a00c0acbaa9e2cc9d2478ccabda differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/ae14b5823ad671056cc9b9ccdfed77d28bfb4c b/src/test/resources/_git_of_git_commit_id/objects/54/ae14b5823ad671056cc9b9ccdfed77d28bfb4c new file mode 100644 index 0000000..aa83aa8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/ae14b5823ad671056cc9b9ccdfed77d28bfb4c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/c7e957c579c609b265f7ba5a64d5444e0202eb b/src/test/resources/_git_of_git_commit_id/objects/54/c7e957c579c609b265f7ba5a64d5444e0202eb new file mode 100644 index 0000000..9620dbc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/c7e957c579c609b265f7ba5a64d5444e0202eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/54/f5ff3546eed7850453387f229b6961c9c3e4d9 b/src/test/resources/_git_of_git_commit_id/objects/54/f5ff3546eed7850453387f229b6961c9c3e4d9 new file mode 100644 index 0000000..3a18f1f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/54/f5ff3546eed7850453387f229b6961c9c3e4d9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/55/031a71add7f614f2bd4711044a42f9982d3224 b/src/test/resources/_git_of_git_commit_id/objects/55/031a71add7f614f2bd4711044a42f9982d3224 new file mode 100644 index 0000000..d3ec085 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/55/031a71add7f614f2bd4711044a42f9982d3224 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/55/07b68cd9dff31051fe43da2a53b6451546f6d2 b/src/test/resources/_git_of_git_commit_id/objects/55/07b68cd9dff31051fe43da2a53b6451546f6d2 new file mode 100644 index 0000000..ac40c32 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/55/07b68cd9dff31051fe43da2a53b6451546f6d2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/55/6e08a9e90ff0307baec26fcf9fdcc73e5199e7 b/src/test/resources/_git_of_git_commit_id/objects/55/6e08a9e90ff0307baec26fcf9fdcc73e5199e7 new file mode 100644 index 0000000..11ed1ec Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/55/6e08a9e90ff0307baec26fcf9fdcc73e5199e7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/55/a918de6e1458b6a2028b8e64273ca09bcf334c b/src/test/resources/_git_of_git_commit_id/objects/55/a918de6e1458b6a2028b8e64273ca09bcf334c new file mode 100644 index 0000000..1b7386e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/55/a918de6e1458b6a2028b8e64273ca09bcf334c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/5d4a20d486f53f6b03dae6cce10a63d69caf99 b/src/test/resources/_git_of_git_commit_id/objects/56/5d4a20d486f53f6b03dae6cce10a63d69caf99 new file mode 100644 index 0000000..0323680 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/5d4a20d486f53f6b03dae6cce10a63d69caf99 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/6dead442cf3de0efa642f88a676cda2ff4eb75 b/src/test/resources/_git_of_git_commit_id/objects/56/6dead442cf3de0efa642f88a676cda2ff4eb75 new file mode 100644 index 0000000..e59364b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/6dead442cf3de0efa642f88a676cda2ff4eb75 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/700b81c8c0b7cfd082b7f1ae45c165c3d924f8 b/src/test/resources/_git_of_git_commit_id/objects/56/700b81c8c0b7cfd082b7f1ae45c165c3d924f8 new file mode 100644 index 0000000..e404022 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/700b81c8c0b7cfd082b7f1ae45c165c3d924f8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/8669b89bb45012271f337ab5b8ffcd04d92e90 b/src/test/resources/_git_of_git_commit_id/objects/56/8669b89bb45012271f337ab5b8ffcd04d92e90 new file mode 100644 index 0000000..84e1f0f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/8669b89bb45012271f337ab5b8ffcd04d92e90 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/942baa82f2e8a240a79d8af254809253e16e65 b/src/test/resources/_git_of_git_commit_id/objects/56/942baa82f2e8a240a79d8af254809253e16e65 new file mode 100644 index 0000000..c5caed7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/942baa82f2e8a240a79d8af254809253e16e65 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/c2f241158dafbc0e31c42fcfa7b97596003814 b/src/test/resources/_git_of_git_commit_id/objects/56/c2f241158dafbc0e31c42fcfa7b97596003814 new file mode 100644 index 0000000..4dada0c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/c2f241158dafbc0e31c42fcfa7b97596003814 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/c4637a90e28661c3316074e8ca4b7c6021b87b b/src/test/resources/_git_of_git_commit_id/objects/56/c4637a90e28661c3316074e8ca4b7c6021b87b new file mode 100644 index 0000000..888eb96 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/c4637a90e28661c3316074e8ca4b7c6021b87b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/d4f44449e8ca67ba5c180c3a900d480b00beb5 b/src/test/resources/_git_of_git_commit_id/objects/56/d4f44449e8ca67ba5c180c3a900d480b00beb5 new file mode 100644 index 0000000..ec3764d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/d4f44449e8ca67ba5c180c3a900d480b00beb5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/e23d191f25c634ec65153d8af7e928ce14f026 b/src/test/resources/_git_of_git_commit_id/objects/56/e23d191f25c634ec65153d8af7e928ce14f026 new file mode 100644 index 0000000..1ee7d6f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/e23d191f25c634ec65153d8af7e928ce14f026 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/ef8f88dd1cc63fe493884463dafcaa2082e7ae b/src/test/resources/_git_of_git_commit_id/objects/56/ef8f88dd1cc63fe493884463dafcaa2082e7ae new file mode 100644 index 0000000..169cbc1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/ef8f88dd1cc63fe493884463dafcaa2082e7ae differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/f2f391fb987cefa22d622200b79a178b36b15b b/src/test/resources/_git_of_git_commit_id/objects/56/f2f391fb987cefa22d622200b79a178b36b15b new file mode 100644 index 0000000..b3df6fd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/f2f391fb987cefa22d622200b79a178b36b15b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/56/fd3e0ce6c52581bd2d84ad71ccacd030a1be4d b/src/test/resources/_git_of_git_commit_id/objects/56/fd3e0ce6c52581bd2d84ad71ccacd030a1be4d new file mode 100644 index 0000000..26b51dd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/56/fd3e0ce6c52581bd2d84ad71ccacd030a1be4d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/46318df0250978cf77314f7e42efa21ee14a5f b/src/test/resources/_git_of_git_commit_id/objects/57/46318df0250978cf77314f7e42efa21ee14a5f new file mode 100644 index 0000000..dab5cbd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/46318df0250978cf77314f7e42efa21ee14a5f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/47dce753bb55edc2cd81af0262fedfa6865778 b/src/test/resources/_git_of_git_commit_id/objects/57/47dce753bb55edc2cd81af0262fedfa6865778 new file mode 100644 index 0000000..df0e14b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/47dce753bb55edc2cd81af0262fedfa6865778 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/81089447a05e6993bcd514c788e4782b34c990 b/src/test/resources/_git_of_git_commit_id/objects/57/81089447a05e6993bcd514c788e4782b34c990 new file mode 100644 index 0000000..191983c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/81089447a05e6993bcd514c788e4782b34c990 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/909f0c71829e440b759b0de5a0457aa51e91c7 b/src/test/resources/_git_of_git_commit_id/objects/57/909f0c71829e440b759b0de5a0457aa51e91c7 new file mode 100644 index 0000000..5adf325 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/909f0c71829e440b759b0de5a0457aa51e91c7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/9676ce553e91a334d559e33b586f1f4045284a b/src/test/resources/_git_of_git_commit_id/objects/57/9676ce553e91a334d559e33b586f1f4045284a new file mode 100644 index 0000000..28c6a47 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/9676ce553e91a334d559e33b586f1f4045284a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/a9cfaae88f886233951b082a0ca5e656c85461 b/src/test/resources/_git_of_git_commit_id/objects/57/a9cfaae88f886233951b082a0ca5e656c85461 new file mode 100644 index 0000000..b5a3c6b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/a9cfaae88f886233951b082a0ca5e656c85461 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/d280946660de6f230180c308edae5d6258197e b/src/test/resources/_git_of_git_commit_id/objects/57/d280946660de6f230180c308edae5d6258197e new file mode 100644 index 0000000..71031d9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/d280946660de6f230180c308edae5d6258197e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/d2e8b438b28d0620476ab54399b47c6b377598 b/src/test/resources/_git_of_git_commit_id/objects/57/d2e8b438b28d0620476ab54399b47c6b377598 new file mode 100644 index 0000000..cbd1a35 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/d2e8b438b28d0620476ab54399b47c6b377598 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/57/ddb717c534aaceb1100cc2e17a63202164b7f0 b/src/test/resources/_git_of_git_commit_id/objects/57/ddb717c534aaceb1100cc2e17a63202164b7f0 new file mode 100644 index 0000000..9c8906f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/57/ddb717c534aaceb1100cc2e17a63202164b7f0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/58/4a1a8d9e41df78b86e1becee6e725d7e2536a9 b/src/test/resources/_git_of_git_commit_id/objects/58/4a1a8d9e41df78b86e1becee6e725d7e2536a9 new file mode 100644 index 0000000..b8befbf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/58/4a1a8d9e41df78b86e1becee6e725d7e2536a9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/58/758862ab9a30427cb5d511ba070f535d972e08 b/src/test/resources/_git_of_git_commit_id/objects/58/758862ab9a30427cb5d511ba070f535d972e08 new file mode 100644 index 0000000..145a5f1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/58/758862ab9a30427cb5d511ba070f535d972e08 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/58/95e80771ad3344b77bce09bff764beabe055eb b/src/test/resources/_git_of_git_commit_id/objects/58/95e80771ad3344b77bce09bff764beabe055eb new file mode 100644 index 0000000..8ad1ab5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/58/95e80771ad3344b77bce09bff764beabe055eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/58/b3f07c0a39cd663a6f02a0d0e670a8b334ad17 b/src/test/resources/_git_of_git_commit_id/objects/58/b3f07c0a39cd663a6f02a0d0e670a8b334ad17 new file mode 100644 index 0000000..8d7982b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/58/b3f07c0a39cd663a6f02a0d0e670a8b334ad17 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/58/b42521117d577169645694b1660ffda50ebf70 b/src/test/resources/_git_of_git_commit_id/objects/58/b42521117d577169645694b1660ffda50ebf70 new file mode 100644 index 0000000..e86bf26 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/58/b42521117d577169645694b1660ffda50ebf70 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/0d9a71779e1ed9f617fd72a7223ef8c40c11ca b/src/test/resources/_git_of_git_commit_id/objects/59/0d9a71779e1ed9f617fd72a7223ef8c40c11ca new file mode 100644 index 0000000..ab35469 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/0d9a71779e1ed9f617fd72a7223ef8c40c11ca differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/2fe5edc6f915bdcdb380c6db08783d11179043 b/src/test/resources/_git_of_git_commit_id/objects/59/2fe5edc6f915bdcdb380c6db08783d11179043 new file mode 100644 index 0000000..92cf284 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/2fe5edc6f915bdcdb380c6db08783d11179043 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/347adaa9a64200a3d95d2c05070a2ae34d6465 b/src/test/resources/_git_of_git_commit_id/objects/59/347adaa9a64200a3d95d2c05070a2ae34d6465 new file mode 100644 index 0000000..0bcd3a9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/347adaa9a64200a3d95d2c05070a2ae34d6465 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/6702d0862895c65a5387c4fe049a477d9e5b79 b/src/test/resources/_git_of_git_commit_id/objects/59/6702d0862895c65a5387c4fe049a477d9e5b79 new file mode 100644 index 0000000..8d1b462 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/6702d0862895c65a5387c4fe049a477d9e5b79 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/778da950d9384e140db014202486ca9c17f225 b/src/test/resources/_git_of_git_commit_id/objects/59/778da950d9384e140db014202486ca9c17f225 new file mode 100644 index 0000000..a38cac8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/778da950d9384e140db014202486ca9c17f225 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/df51386808acd2207b053f3b1cc58d47b753c6 b/src/test/resources/_git_of_git_commit_id/objects/59/df51386808acd2207b053f3b1cc58d47b753c6 new file mode 100644 index 0000000..424fa52 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/df51386808acd2207b053f3b1cc58d47b753c6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/59/faa1e990844f586c09ffdd197d88fb7c192860 b/src/test/resources/_git_of_git_commit_id/objects/59/faa1e990844f586c09ffdd197d88fb7c192860 new file mode 100644 index 0000000..efbf2a9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/59/faa1e990844f586c09ffdd197d88fb7c192860 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/0239b212258b4cb672e5e954757304a08cf2a1 b/src/test/resources/_git_of_git_commit_id/objects/5a/0239b212258b4cb672e5e954757304a08cf2a1 new file mode 100644 index 0000000..752fac8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/0239b212258b4cb672e5e954757304a08cf2a1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/363bea9bef99cb187b9984dc14af49d9293870 b/src/test/resources/_git_of_git_commit_id/objects/5a/363bea9bef99cb187b9984dc14af49d9293870 new file mode 100644 index 0000000..7163f30 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/5a/363bea9bef99cb187b9984dc14af49d9293870 @@ -0,0 +1 @@ +xKOR01a` 5ؔb`$i,<׬[Sg2ݹR"۷y=Ę \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/37b45068253ec0f4e5608503e35cecd97ef74c b/src/test/resources/_git_of_git_commit_id/objects/5a/37b45068253ec0f4e5608503e35cecd97ef74c new file mode 100644 index 0000000..4efdaa9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/37b45068253ec0f4e5608503e35cecd97ef74c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/480b02f7003358b5f337b21c2488456dadf393 b/src/test/resources/_git_of_git_commit_id/objects/5a/480b02f7003358b5f337b21c2488456dadf393 new file mode 100644 index 0000000..3f7e386 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/480b02f7003358b5f337b21c2488456dadf393 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/ca179356de09c45054bd18779d290cf6b4533a b/src/test/resources/_git_of_git_commit_id/objects/5a/ca179356de09c45054bd18779d290cf6b4533a new file mode 100644 index 0000000..a295935 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/ca179356de09c45054bd18779d290cf6b4533a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/da561d367dcbf9965f5f41df7bcb046599ccd7 b/src/test/resources/_git_of_git_commit_id/objects/5a/da561d367dcbf9965f5f41df7bcb046599ccd7 new file mode 100644 index 0000000..e136f09 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/da561d367dcbf9965f5f41df7bcb046599ccd7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/df3252789c8b462edf353d076aab93b8ff91e9 b/src/test/resources/_git_of_git_commit_id/objects/5a/df3252789c8b462edf353d076aab93b8ff91e9 new file mode 100644 index 0000000..533274d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/df3252789c8b462edf353d076aab93b8ff91e9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5a/f827342b58b68254081700390d042a0b8bc839 b/src/test/resources/_git_of_git_commit_id/objects/5a/f827342b58b68254081700390d042a0b8bc839 new file mode 100644 index 0000000..d249cc0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5a/f827342b58b68254081700390d042a0b8bc839 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5b/5a426f9bcdb2cee5b13a3842e11285bc347103 b/src/test/resources/_git_of_git_commit_id/objects/5b/5a426f9bcdb2cee5b13a3842e11285bc347103 new file mode 100644 index 0000000..1d410ba Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5b/5a426f9bcdb2cee5b13a3842e11285bc347103 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5b/95f3b877863f6c339ad933189ddb47d5de9ddf b/src/test/resources/_git_of_git_commit_id/objects/5b/95f3b877863f6c339ad933189ddb47d5de9ddf new file mode 100644 index 0000000..23d1e87 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5b/95f3b877863f6c339ad933189ddb47d5de9ddf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5b/a1c674b116833169dcb30698c2cec2e1a74a62 b/src/test/resources/_git_of_git_commit_id/objects/5b/a1c674b116833169dcb30698c2cec2e1a74a62 new file mode 100644 index 0000000..8fe50a8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5b/a1c674b116833169dcb30698c2cec2e1a74a62 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5b/d429a6c91815c8cec509e38f577ab116ae8e22 b/src/test/resources/_git_of_git_commit_id/objects/5b/d429a6c91815c8cec509e38f577ab116ae8e22 new file mode 100644 index 0000000..26a9c4d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5b/d429a6c91815c8cec509e38f577ab116ae8e22 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5b/eac8c4abd0ff9562b907b68e09d7cdd8db6e25 b/src/test/resources/_git_of_git_commit_id/objects/5b/eac8c4abd0ff9562b907b68e09d7cdd8db6e25 new file mode 100644 index 0000000..477cb18 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5b/eac8c4abd0ff9562b907b68e09d7cdd8db6e25 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/5b9294180b4b4c309f6e58125e803a9d9f4d99 b/src/test/resources/_git_of_git_commit_id/objects/5c/5b9294180b4b4c309f6e58125e803a9d9f4d99 new file mode 100644 index 0000000..802fc89 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/5b9294180b4b4c309f6e58125e803a9d9f4d99 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/7bf9b85e1125b4ab9f6e5de8eac4f9dcbee837 b/src/test/resources/_git_of_git_commit_id/objects/5c/7bf9b85e1125b4ab9f6e5de8eac4f9dcbee837 new file mode 100644 index 0000000..d1e7a81 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/7bf9b85e1125b4ab9f6e5de8eac4f9dcbee837 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/a20c44fa22b4a36449d4e4c7db18b5dfcadf07 b/src/test/resources/_git_of_git_commit_id/objects/5c/a20c44fa22b4a36449d4e4c7db18b5dfcadf07 new file mode 100644 index 0000000..059e9c5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/a20c44fa22b4a36449d4e4c7db18b5dfcadf07 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/af1cd931c9c9317198d76dbbfeaf8d65b8d3eb b/src/test/resources/_git_of_git_commit_id/objects/5c/af1cd931c9c9317198d76dbbfeaf8d65b8d3eb new file mode 100644 index 0000000..2b3243c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/af1cd931c9c9317198d76dbbfeaf8d65b8d3eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/d9c30454ce641856471a7a4ede47d3c6a2256b b/src/test/resources/_git_of_git_commit_id/objects/5c/d9c30454ce641856471a7a4ede47d3c6a2256b new file mode 100644 index 0000000..f6577be Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/d9c30454ce641856471a7a4ede47d3c6a2256b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/e8b7beb7ac6fbdd743e2a9c3f54428547c6c50 b/src/test/resources/_git_of_git_commit_id/objects/5c/e8b7beb7ac6fbdd743e2a9c3f54428547c6c50 new file mode 100644 index 0000000..72e9ce3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/e8b7beb7ac6fbdd743e2a9c3f54428547c6c50 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5c/f0746a54d28c9ef1ad81d00eaa5f0c028e92aa b/src/test/resources/_git_of_git_commit_id/objects/5c/f0746a54d28c9ef1ad81d00eaa5f0c028e92aa new file mode 100644 index 0000000..b6b9953 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5c/f0746a54d28c9ef1ad81d00eaa5f0c028e92aa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/11c6b61cc963e3ebb51c46961e637740aff516 b/src/test/resources/_git_of_git_commit_id/objects/5d/11c6b61cc963e3ebb51c46961e637740aff516 new file mode 100644 index 0000000..37953f9 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/5d/11c6b61cc963e3ebb51c46961e637740aff516 @@ -0,0 +1 @@ +xKOR05d` 50K60d`jmZg͕'Blw>oVܵ)MLqY \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/376207c4dacb99a5d19b73ae0d68075e3e1e9d b/src/test/resources/_git_of_git_commit_id/objects/5d/376207c4dacb99a5d19b73ae0d68075e3e1e9d new file mode 100644 index 0000000..f29c21a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5d/376207c4dacb99a5d19b73ae0d68075e3e1e9d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/5b104922c53c0d5b2dc6b9ec416d8b675d3882 b/src/test/resources/_git_of_git_commit_id/objects/5d/5b104922c53c0d5b2dc6b9ec416d8b675d3882 new file mode 100644 index 0000000..ec95357 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5d/5b104922c53c0d5b2dc6b9ec416d8b675d3882 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/a24e0ee6ad9f5d35c7fc97ef76725aad100c31 b/src/test/resources/_git_of_git_commit_id/objects/5d/a24e0ee6ad9f5d35c7fc97ef76725aad100c31 new file mode 100644 index 0000000..a78311b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5d/a24e0ee6ad9f5d35c7fc97ef76725aad100c31 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/ab29e00ef13d0926786052a88a31f58eebb7fb b/src/test/resources/_git_of_git_commit_id/objects/5d/ab29e00ef13d0926786052a88a31f58eebb7fb new file mode 100644 index 0000000..51556a6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5d/ab29e00ef13d0926786052a88a31f58eebb7fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/d86e7c8c04284fd1aedafcf4de762240bb5a35 b/src/test/resources/_git_of_git_commit_id/objects/5d/d86e7c8c04284fd1aedafcf4de762240bb5a35 new file mode 100644 index 0000000..ee7f7df Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5d/d86e7c8c04284fd1aedafcf4de762240bb5a35 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5d/fce9ed3870d3e3a356174ecf564d2efae4d08b b/src/test/resources/_git_of_git_commit_id/objects/5d/fce9ed3870d3e3a356174ecf564d2efae4d08b new file mode 100644 index 0000000..cf3b0cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5d/fce9ed3870d3e3a356174ecf564d2efae4d08b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5e/12d05b318408649edf4fdd37a378e87f00dd98 b/src/test/resources/_git_of_git_commit_id/objects/5e/12d05b318408649edf4fdd37a378e87f00dd98 new file mode 100644 index 0000000..b9594f2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5e/12d05b318408649edf4fdd37a378e87f00dd98 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5e/20cb18485c9cb8cb9248d7ed979800cae21a39 b/src/test/resources/_git_of_git_commit_id/objects/5e/20cb18485c9cb8cb9248d7ed979800cae21a39 new file mode 100644 index 0000000..24ec00a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5e/20cb18485c9cb8cb9248d7ed979800cae21a39 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5e/5f1f1d87d0df6706a45bdf1c1eabcf49139194 b/src/test/resources/_git_of_git_commit_id/objects/5e/5f1f1d87d0df6706a45bdf1c1eabcf49139194 new file mode 100644 index 0000000..a0b7386 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5e/5f1f1d87d0df6706a45bdf1c1eabcf49139194 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5e/83225b7ef74dbdf8b104347cdff2727119656f b/src/test/resources/_git_of_git_commit_id/objects/5e/83225b7ef74dbdf8b104347cdff2727119656f new file mode 100644 index 0000000..e229798 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5e/83225b7ef74dbdf8b104347cdff2727119656f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5e/9bd255c4e5041ec6f026b0aa56b9c167c7f9c1 b/src/test/resources/_git_of_git_commit_id/objects/5e/9bd255c4e5041ec6f026b0aa56b9c167c7f9c1 new file mode 100644 index 0000000..778d178 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5e/9bd255c4e5041ec6f026b0aa56b9c167c7f9c1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5e/fd94a490ca740eb2894499c4d083ed60c23571 b/src/test/resources/_git_of_git_commit_id/objects/5e/fd94a490ca740eb2894499c4d083ed60c23571 new file mode 100644 index 0000000..d55d782 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5e/fd94a490ca740eb2894499c4d083ed60c23571 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5f/1410a3f2f1b7f849e72ecf2a46e722de0fae78 b/src/test/resources/_git_of_git_commit_id/objects/5f/1410a3f2f1b7f849e72ecf2a46e722de0fae78 new file mode 100644 index 0000000..530c25c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5f/1410a3f2f1b7f849e72ecf2a46e722de0fae78 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5f/244b01afd2fbe743495ec2f682b149ae5c17b4 b/src/test/resources/_git_of_git_commit_id/objects/5f/244b01afd2fbe743495ec2f682b149ae5c17b4 new file mode 100644 index 0000000..198ae37 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5f/244b01afd2fbe743495ec2f682b149ae5c17b4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5f/8540c2d6b264c58805bc4481db1225bfda514f b/src/test/resources/_git_of_git_commit_id/objects/5f/8540c2d6b264c58805bc4481db1225bfda514f new file mode 100644 index 0000000..dab280f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5f/8540c2d6b264c58805bc4481db1225bfda514f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/5f/90763766ab3e661fd736948dfc2e52663dab27 b/src/test/resources/_git_of_git_commit_id/objects/5f/90763766ab3e661fd736948dfc2e52663dab27 new file mode 100644 index 0000000..09be9c2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/5f/90763766ab3e661fd736948dfc2e52663dab27 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/60/38c51212d7d4252d7f360c1d14cdb4b645b53b b/src/test/resources/_git_of_git_commit_id/objects/60/38c51212d7d4252d7f360c1d14cdb4b645b53b new file mode 100644 index 0000000..68f1ca8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/60/38c51212d7d4252d7f360c1d14cdb4b645b53b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/60/c342d8bd4213dde74f3d2165fc17eb9431af44 b/src/test/resources/_git_of_git_commit_id/objects/60/c342d8bd4213dde74f3d2165fc17eb9431af44 new file mode 100644 index 0000000..8b092a0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/60/c342d8bd4213dde74f3d2165fc17eb9431af44 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/60/c9f2d9f5e1d7fe21988d7b707ec51ed3b15329 b/src/test/resources/_git_of_git_commit_id/objects/60/c9f2d9f5e1d7fe21988d7b707ec51ed3b15329 new file mode 100644 index 0000000..d5a9f15 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/60/c9f2d9f5e1d7fe21988d7b707ec51ed3b15329 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/61/00ac25950c9fab6af29eeb463b7d233eecb2e7 b/src/test/resources/_git_of_git_commit_id/objects/61/00ac25950c9fab6af29eeb463b7d233eecb2e7 new file mode 100644 index 0000000..2b74383 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/61/00ac25950c9fab6af29eeb463b7d233eecb2e7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/61/28bc82a614cf140d63397abea5c30d72d92240 b/src/test/resources/_git_of_git_commit_id/objects/61/28bc82a614cf140d63397abea5c30d72d92240 new file mode 100644 index 0000000..939794b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/61/28bc82a614cf140d63397abea5c30d72d92240 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/61/43b692279e374b00c038b91935867d3d7c292b b/src/test/resources/_git_of_git_commit_id/objects/61/43b692279e374b00c038b91935867d3d7c292b new file mode 100644 index 0000000..197aad9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/61/43b692279e374b00c038b91935867d3d7c292b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/61/732c8dd9e2b049204b5ce8e94ac43a723df9a0 b/src/test/resources/_git_of_git_commit_id/objects/61/732c8dd9e2b049204b5ce8e94ac43a723df9a0 new file mode 100644 index 0000000..884f0a2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/61/732c8dd9e2b049204b5ce8e94ac43a723df9a0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/61/de8fb6d41505e49eeb5f7919374ddab69f6499 b/src/test/resources/_git_of_git_commit_id/objects/61/de8fb6d41505e49eeb5f7919374ddab69f6499 new file mode 100644 index 0000000..1a4235e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/61/de8fb6d41505e49eeb5f7919374ddab69f6499 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/62/016dff40cde671564869c12665b62d894e137a b/src/test/resources/_git_of_git_commit_id/objects/62/016dff40cde671564869c12665b62d894e137a new file mode 100644 index 0000000..252f74b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/62/016dff40cde671564869c12665b62d894e137a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/62/04480842592211d324b10a307f40429f4259cc b/src/test/resources/_git_of_git_commit_id/objects/62/04480842592211d324b10a307f40429f4259cc new file mode 100644 index 0000000..547e322 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/62/04480842592211d324b10a307f40429f4259cc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/62/78de72d10ad966fcb8bdb9e0ff7082535c2f90 b/src/test/resources/_git_of_git_commit_id/objects/62/78de72d10ad966fcb8bdb9e0ff7082535c2f90 new file mode 100644 index 0000000..6fd1310 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/62/78de72d10ad966fcb8bdb9e0ff7082535c2f90 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/62/9a5f9504c71b07a32f53cf4a4eebd77d88fdaf b/src/test/resources/_git_of_git_commit_id/objects/62/9a5f9504c71b07a32f53cf4a4eebd77d88fdaf new file mode 100644 index 0000000..ba07fe6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/62/9a5f9504c71b07a32f53cf4a4eebd77d88fdaf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/62/de872c7a211921e16d7adb66b9e4c7a2d2d3f4 b/src/test/resources/_git_of_git_commit_id/objects/62/de872c7a211921e16d7adb66b9e4c7a2d2d3f4 new file mode 100644 index 0000000..62d95e2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/62/de872c7a211921e16d7adb66b9e4c7a2d2d3f4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/62/e94368d3c17b745f15d6358dc5e9a307ba4c97 b/src/test/resources/_git_of_git_commit_id/objects/62/e94368d3c17b745f15d6358dc5e9a307ba4c97 new file mode 100644 index 0000000..44ab383 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/62/e94368d3c17b745f15d6358dc5e9a307ba4c97 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/2d24d0b2529cd5a37f68f64d615bc493e6bbe2 b/src/test/resources/_git_of_git_commit_id/objects/63/2d24d0b2529cd5a37f68f64d615bc493e6bbe2 new file mode 100644 index 0000000..58b4252 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/2d24d0b2529cd5a37f68f64d615bc493e6bbe2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/332e855f47a9bce193baf043e4738d264460e5 b/src/test/resources/_git_of_git_commit_id/objects/63/332e855f47a9bce193baf043e4738d264460e5 new file mode 100644 index 0000000..95513ab Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/332e855f47a9bce193baf043e4738d264460e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/53b7fad02436cfd1173bd93f93c2a08d4dfe7c b/src/test/resources/_git_of_git_commit_id/objects/63/53b7fad02436cfd1173bd93f93c2a08d4dfe7c new file mode 100644 index 0000000..6143b69 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/53b7fad02436cfd1173bd93f93c2a08d4dfe7c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/5cd53e93349299ccceddd049d3d3ea010c87da b/src/test/resources/_git_of_git_commit_id/objects/63/5cd53e93349299ccceddd049d3d3ea010c87da new file mode 100644 index 0000000..9d4c7b9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/5cd53e93349299ccceddd049d3d3ea010c87da differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/9ee8a3bda0944a7462f35dcbb0bdb22c76b8bd b/src/test/resources/_git_of_git_commit_id/objects/63/9ee8a3bda0944a7462f35dcbb0bdb22c76b8bd new file mode 100644 index 0000000..7a4d69e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/9ee8a3bda0944a7462f35dcbb0bdb22c76b8bd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/e48f6ab2f77d1c333c769ec83a0bb1c09b00d7 b/src/test/resources/_git_of_git_commit_id/objects/63/e48f6ab2f77d1c333c769ec83a0bb1c09b00d7 new file mode 100644 index 0000000..f7696f9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/e48f6ab2f77d1c333c769ec83a0bb1c09b00d7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/63/ed4a2de791c57cfffc0aa643293377987f5295 b/src/test/resources/_git_of_git_commit_id/objects/63/ed4a2de791c57cfffc0aa643293377987f5295 new file mode 100644 index 0000000..de47a03 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/63/ed4a2de791c57cfffc0aa643293377987f5295 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/05cb598294b1fa1f1412944c15393821bbd725 b/src/test/resources/_git_of_git_commit_id/objects/64/05cb598294b1fa1f1412944c15393821bbd725 new file mode 100644 index 0000000..8b19352 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/64/05cb598294b1fa1f1412944c15393821bbd725 @@ -0,0 +1,4 @@ +x51kTA'bgE +wޙ+Y;3wDH6 +Y)2S6*E +,Xm""9zW h*19ϔ& 9BmF5`:VL|^4n,_=tkvb#@Jj޺LB =S/O}Ǿ5K^HCF\V9 PXٽ}`OwևG;{mf1k$@ʐ H4+c쥝c{^]zt:/dm2&V\(#~g(U5|yLM^3Fb_kBFllp)Z΅w'GSpRAsttcSN9752juۻ>X \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/06c2ba9ca70336d185f8bf4e1440ec478ef4b2 b/src/test/resources/_git_of_git_commit_id/objects/64/06c2ba9ca70336d185f8bf4e1440ec478ef4b2 new file mode 100644 index 0000000..16dd8aa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/64/06c2ba9ca70336d185f8bf4e1440ec478ef4b2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/3c6244b9d27507738939bd3f2b30509c08e04b b/src/test/resources/_git_of_git_commit_id/objects/64/3c6244b9d27507738939bd3f2b30509c08e04b new file mode 100644 index 0000000..0a51c58 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/64/3c6244b9d27507738939bd3f2b30509c08e04b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/599ed10878c40f0dcd8a9f02a6992b44fbba36 b/src/test/resources/_git_of_git_commit_id/objects/64/599ed10878c40f0dcd8a9f02a6992b44fbba36 new file mode 100644 index 0000000..f85f3b9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/64/599ed10878c40f0dcd8a9f02a6992b44fbba36 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/66661fb2e03f7d1d6bb4b7193071c1b2615b9b b/src/test/resources/_git_of_git_commit_id/objects/64/66661fb2e03f7d1d6bb4b7193071c1b2615b9b new file mode 100644 index 0000000..911437e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/64/66661fb2e03f7d1d6bb4b7193071c1b2615b9b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/7e58c6020ae7f117522ea8100f30bf815e0f91 b/src/test/resources/_git_of_git_commit_id/objects/64/7e58c6020ae7f117522ea8100f30bf815e0f91 new file mode 100644 index 0000000..67897e6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/64/7e58c6020ae7f117522ea8100f30bf815e0f91 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/64/e485da2f06b789f15c6646af92a3d85fed1cc0 b/src/test/resources/_git_of_git_commit_id/objects/64/e485da2f06b789f15c6646af92a3d85fed1cc0 new file mode 100644 index 0000000..50fd98e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/64/e485da2f06b789f15c6646af92a3d85fed1cc0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/2cec00320c23140ed99f78c99c26449d46091e b/src/test/resources/_git_of_git_commit_id/objects/65/2cec00320c23140ed99f78c99c26449d46091e new file mode 100644 index 0000000..b207b15 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/2cec00320c23140ed99f78c99c26449d46091e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/2f4875a87de513fd452c614f1688d734e3a08c b/src/test/resources/_git_of_git_commit_id/objects/65/2f4875a87de513fd452c614f1688d734e3a08c new file mode 100644 index 0000000..be6a576 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/2f4875a87de513fd452c614f1688d734e3a08c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/51bf50b3f9c849da0f2c7e69c4ba9fcc4051ac b/src/test/resources/_git_of_git_commit_id/objects/65/51bf50b3f9c849da0f2c7e69c4ba9fcc4051ac new file mode 100644 index 0000000..08a75cb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/51bf50b3f9c849da0f2c7e69c4ba9fcc4051ac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/72486cd0fd26ab3cb48cf19b38efec7162b458 b/src/test/resources/_git_of_git_commit_id/objects/65/72486cd0fd26ab3cb48cf19b38efec7162b458 new file mode 100644 index 0000000..5bb9b04 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/72486cd0fd26ab3cb48cf19b38efec7162b458 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/899ffc7a2478c93f0adb03ca24f928494aa7d8 b/src/test/resources/_git_of_git_commit_id/objects/65/899ffc7a2478c93f0adb03ca24f928494aa7d8 new file mode 100644 index 0000000..06a21c7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/899ffc7a2478c93f0adb03ca24f928494aa7d8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/b2b2973e8ecb2fe726903fb2cf26cd9c52d664 b/src/test/resources/_git_of_git_commit_id/objects/65/b2b2973e8ecb2fe726903fb2cf26cd9c52d664 new file mode 100644 index 0000000..b2ce538 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/b2b2973e8ecb2fe726903fb2cf26cd9c52d664 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/65/cc07c87b799e1dc2ddf7e7b4cbd317c6adaa19 b/src/test/resources/_git_of_git_commit_id/objects/65/cc07c87b799e1dc2ddf7e7b4cbd317c6adaa19 new file mode 100644 index 0000000..cdbaceb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/65/cc07c87b799e1dc2ddf7e7b4cbd317c6adaa19 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/2017bf3fd4d377894d1d1b24a388774a26eafd b/src/test/resources/_git_of_git_commit_id/objects/66/2017bf3fd4d377894d1d1b24a388774a26eafd new file mode 100644 index 0000000..6bfc925 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/66/2017bf3fd4d377894d1d1b24a388774a26eafd @@ -0,0 +1,4 @@ +x-?(Q/e-,{?ݤnȎyO& J7NB$$ݺ-E[~Os2PRV!89$EB" Ebs6?z>Y?}SU(X +6ddI:sB"㲭fbkahmvS +ʀC +"Kҁenr(I>5т`VK!(%1zR mľ@"HYi0<:NwR E:(sQ)8[}H4ۜۿ?=l \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/3b6735c99f390da904948c7e6d3897ec25ed84 b/src/test/resources/_git_of_git_commit_id/objects/66/3b6735c99f390da904948c7e6d3897ec25ed84 new file mode 100644 index 0000000..122d801 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/3b6735c99f390da904948c7e6d3897ec25ed84 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/4f3937dfb04b596537d28bd2325f98e96ffe0f b/src/test/resources/_git_of_git_commit_id/objects/66/4f3937dfb04b596537d28bd2325f98e96ffe0f new file mode 100644 index 0000000..ac088b1 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/66/4f3937dfb04b596537d28bd2325f98e96ffe0f @@ -0,0 +1,2 @@ +x+)JMU03c040031QputaJ= +ʿ7$ώ_{EzkϢLfK2A S \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/6feb6e737b4f49b6adf7298e1cdf6d39869abb b/src/test/resources/_git_of_git_commit_id/objects/66/6feb6e737b4f49b6adf7298e1cdf6d39869abb new file mode 100644 index 0000000..643c624 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/6feb6e737b4f49b6adf7298e1cdf6d39869abb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/74398bf970d9af6bce5efb88d4624cc43e6372 b/src/test/resources/_git_of_git_commit_id/objects/66/74398bf970d9af6bce5efb88d4624cc43e6372 new file mode 100644 index 0000000..b42b7c8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/74398bf970d9af6bce5efb88d4624cc43e6372 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/b820a57e1e4ba26b710567b27fb5835bf9b180 b/src/test/resources/_git_of_git_commit_id/objects/66/b820a57e1e4ba26b710567b27fb5835bf9b180 new file mode 100644 index 0000000..78a8a1c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/b820a57e1e4ba26b710567b27fb5835bf9b180 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/be783b4a0592d620e965ed6f246954bc282f5f b/src/test/resources/_git_of_git_commit_id/objects/66/be783b4a0592d620e965ed6f246954bc282f5f new file mode 100644 index 0000000..de504d8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/be783b4a0592d620e965ed6f246954bc282f5f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/beb60f1b6ac02c7bb4ffc8de8f50046d29591f b/src/test/resources/_git_of_git_commit_id/objects/66/beb60f1b6ac02c7bb4ffc8de8f50046d29591f new file mode 100644 index 0000000..384d824 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/beb60f1b6ac02c7bb4ffc8de8f50046d29591f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/eee8fe38b4e402ec543698b4d7768e94d84cd8 b/src/test/resources/_git_of_git_commit_id/objects/66/eee8fe38b4e402ec543698b4d7768e94d84cd8 new file mode 100644 index 0000000..54ae14b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/eee8fe38b4e402ec543698b4d7768e94d84cd8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/66/f45f9996d7aeda629f1adce35ddcf280f0b471 b/src/test/resources/_git_of_git_commit_id/objects/66/f45f9996d7aeda629f1adce35ddcf280f0b471 new file mode 100644 index 0000000..2a76bcc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/66/f45f9996d7aeda629f1adce35ddcf280f0b471 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/67/11228b14df1785684d33cf7ca4a33ad1770dcc b/src/test/resources/_git_of_git_commit_id/objects/67/11228b14df1785684d33cf7ca4a33ad1770dcc new file mode 100644 index 0000000..034ab6c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/67/11228b14df1785684d33cf7ca4a33ad1770dcc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/67/460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 b/src/test/resources/_git_of_git_commit_id/objects/67/460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 new file mode 100644 index 0000000..3459301 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/67/460d1eccbe5f7ffe3ad8cf6081c9c02acd2863 @@ -0,0 +1 @@ +xKj0D) X!drqlKBcAyP+,t0ʿ hɨH61)oZ8wH1$TdQ I!9-:g_%@{ p۟೶ؕvޤR÷"&8ZK\vWp3;Cy 3CP5?gk+'./ĥг611oW{C7,rLjō6S KnږmO%e \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/6a/912f1799210daeb34efcd0f304fbf5a7cc8e93 b/src/test/resources/_git_of_git_commit_id/objects/6a/912f1799210daeb34efcd0f304fbf5a7cc8e93 new file mode 100644 index 0000000..b430a4e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/6a/912f1799210daeb34efcd0f304fbf5a7cc8e93 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/6a/a8dc9095c5c641fcafaaf450c39e3b8e149388 b/src/test/resources/_git_of_git_commit_id/objects/6a/a8dc9095c5c641fcafaaf450c39e3b8e149388 new file mode 100644 index 0000000..396730d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/6a/a8dc9095c5c641fcafaaf450c39e3b8e149388 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/6a/e4c3c826421e728b4022434de83731acab63af b/src/test/resources/_git_of_git_commit_id/objects/6a/e4c3c826421e728b4022434de83731acab63af new file mode 100644 index 0000000..8db302c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/6a/e4c3c826421e728b4022434de83731acab63af differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/6a/e79bbb861e213c310cb8794cea192604164027 b/src/test/resources/_git_of_git_commit_id/objects/6a/e79bbb861e213c310cb8794cea192604164027 new file mode 100644 index 0000000..d2d46f2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/6a/e79bbb861e213c310cb8794cea192604164027 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/6b/0a431a9f5e16cd1132409564514504e8fff814 b/src/test/resources/_git_of_git_commit_id/objects/6b/0a431a9f5e16cd1132409564514504e8fff814 new file mode 100644 index 0000000..475c4a6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/6b/0a431a9f5e16cd1132409564514504e8fff814 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/6b/1ee484a85f9d64e3ef4bde07fbd6391d968bd0 b/src/test/resources/_git_of_git_commit_id/objects/6b/1ee484a85f9d64e3ef4bde07fbd6391d968bd0 new file mode 100644 index 0000000..0071801 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/6b/1ee484a85f9d64e3ef4bde07fbd6391d968bd0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/6b/724f7a9f28cf24db72f6d31c1f407f965804c0 b/src/test/resources/_git_of_git_commit_id/objects/6b/724f7a9f28cf24db72f6d31c1f407f965804c0 new file mode 100644 index 0000000..3575520 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/6b/724f7a9f28cf24db72f6d31c1f407f965804c0 @@ -0,0 +1,2 @@ +x5Mj0@}4%Bɾa49d$BO`xjQ(m#bDQBqbV1At3+h9%FKM +^t/o><n{^G+w8M%U ? C6[k[dR #\+eonܯ;_Mѯ<YC \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/71/8c5a8a0c549c2130342427c278eb226924ade7 b/src/test/resources/_git_of_git_commit_id/objects/71/8c5a8a0c549c2130342427c278eb226924ade7 new file mode 100644 index 0000000..704de05 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/71/8c5a8a0c549c2130342427c278eb226924ade7 @@ -0,0 +1 @@ +x+)JMU0`040031Q0H62N473L4I1LM50251J1MJI4IN64NK217Jbx|ӎM'3$-`PLML ,ӒSR̒͌R- L,M,SR,Mv'r+nP- M- LL͍RR-,RRO8s '*U'GbD \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/71/ab04edc09be7aeefa1e8a0f609a974ffd55a9f b/src/test/resources/_git_of_git_commit_id/objects/71/ab04edc09be7aeefa1e8a0f609a974ffd55a9f new file mode 100644 index 0000000..1f4330a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/71/ab04edc09be7aeefa1e8a0f609a974ffd55a9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/71/f3ef31fb0c6ceec51fc58f8fd5df5ba1d477d4 b/src/test/resources/_git_of_git_commit_id/objects/71/f3ef31fb0c6ceec51fc58f8fd5df5ba1d477d4 new file mode 100644 index 0000000..941ed07 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/71/f3ef31fb0c6ceec51fc58f8fd5df5ba1d477d4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/72/03e08f0940b33ec0ddb5cc39776435143e724e b/src/test/resources/_git_of_git_commit_id/objects/72/03e08f0940b33ec0ddb5cc39776435143e724e new file mode 100644 index 0000000..bd88078 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/72/03e08f0940b33ec0ddb5cc39776435143e724e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/72/9684b5ba1f2547d2f33c3da89ca574b4ae1ea1 b/src/test/resources/_git_of_git_commit_id/objects/72/9684b5ba1f2547d2f33c3da89ca574b4ae1ea1 new file mode 100644 index 0000000..1975420 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/72/9684b5ba1f2547d2f33c3da89ca574b4ae1ea1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/72/9b4b65c106deb827b005fd53faeba2ff02f5e3 b/src/test/resources/_git_of_git_commit_id/objects/72/9b4b65c106deb827b005fd53faeba2ff02f5e3 new file mode 100644 index 0000000..730ad0a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/72/9b4b65c106deb827b005fd53faeba2ff02f5e3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/72/9d99108532193cc199b4682dc9eed04b1895fa b/src/test/resources/_git_of_git_commit_id/objects/72/9d99108532193cc199b4682dc9eed04b1895fa new file mode 100644 index 0000000..6204480 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/72/9d99108532193cc199b4682dc9eed04b1895fa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/72/f2ee3619c5722f644c44225efe924e14e205d8 b/src/test/resources/_git_of_git_commit_id/objects/72/f2ee3619c5722f644c44225efe924e14e205d8 new file mode 100644 index 0000000..b655498 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/72/f2ee3619c5722f644c44225efe924e14e205d8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/73/3fc5c07c9dbdcc642a364ef6abdf3aadd7e9d4 b/src/test/resources/_git_of_git_commit_id/objects/73/3fc5c07c9dbdcc642a364ef6abdf3aadd7e9d4 new file mode 100644 index 0000000..e1331a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/73/3fc5c07c9dbdcc642a364ef6abdf3aadd7e9d4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/73/adecfa4cdaaab633a660c0766b7f40de444166 b/src/test/resources/_git_of_git_commit_id/objects/73/adecfa4cdaaab633a660c0766b7f40de444166 new file mode 100644 index 0000000..e8469cb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/73/adecfa4cdaaab633a660c0766b7f40de444166 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/73/af45bb9835fe8eeb5e1b8c58286cd127b568e5 b/src/test/resources/_git_of_git_commit_id/objects/73/af45bb9835fe8eeb5e1b8c58286cd127b568e5 new file mode 100644 index 0000000..4ac17e5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/73/af45bb9835fe8eeb5e1b8c58286cd127b568e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/73/b490a2dfcf7940fece8eacf99b5fb76b3f56db b/src/test/resources/_git_of_git_commit_id/objects/73/b490a2dfcf7940fece8eacf99b5fb76b3f56db new file mode 100644 index 0000000..3da1bcd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/73/b490a2dfcf7940fece8eacf99b5fb76b3f56db differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/091df0d349e52f04edf43b1e5734c8a9d54227 b/src/test/resources/_git_of_git_commit_id/objects/74/091df0d349e52f04edf43b1e5734c8a9d54227 new file mode 100644 index 0000000..b67ef9f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/74/091df0d349e52f04edf43b1e5734c8a9d54227 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/22ebf285b9628072b9b9bf6c5e9bb4008b5433 b/src/test/resources/_git_of_git_commit_id/objects/74/22ebf285b9628072b9b9bf6c5e9bb4008b5433 new file mode 100644 index 0000000..fcf4b6e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/74/22ebf285b9628072b9b9bf6c5e9bb4008b5433 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/32a0030923cb21e56bcc226a59dc63213cb98a b/src/test/resources/_git_of_git_commit_id/objects/74/32a0030923cb21e56bcc226a59dc63213cb98a new file mode 100644 index 0000000..1e88a6c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/74/32a0030923cb21e56bcc226a59dc63213cb98a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/3465a963b3235466bca15031b076a818c8e7fa b/src/test/resources/_git_of_git_commit_id/objects/74/3465a963b3235466bca15031b076a818c8e7fa new file mode 100644 index 0000000..c799b48 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/74/3465a963b3235466bca15031b076a818c8e7fa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/560b8c9ac89f4c1bc5d4cde957843b288f886c b/src/test/resources/_git_of_git_commit_id/objects/74/560b8c9ac89f4c1bc5d4cde957843b288f886c new file mode 100644 index 0000000..63ae750 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/74/560b8c9ac89f4c1bc5d4cde957843b288f886c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/7d371a7c911cc4f3cf1987f8ca5896384bba2f b/src/test/resources/_git_of_git_commit_id/objects/74/7d371a7c911cc4f3cf1987f8ca5896384bba2f new file mode 100644 index 0000000..f3d8ea2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/74/7d371a7c911cc4f3cf1987f8ca5896384bba2f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/74/87ad7c7f71ff0e3045bbfe0983d69df3740a4c b/src/test/resources/_git_of_git_commit_id/objects/74/87ad7c7f71ff0e3045bbfe0983d69df3740a4c new file mode 100644 index 0000000..9c03ac8 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/74/87ad7c7f71ff0e3045bbfe0983d69df3740a4c @@ -0,0 +1,9 @@ +xVMG͙_Q47,KVJ!0jf +h3LO{X#k{?z0`9]WU޽O%K7lPq)gLwW\ߵZ|[ +AUTlP1I\ݝ9񣉙8cl@x%RsQЍM nொ`Ez<-AiYZ@*iQX/4$3A֔',^C$BkgG%GmP\ [sI /rz<>{! )` s*7Ha)$(lM@oB*C[A<Їn9O!͙R`4ƭdJT.ja!Ki4%/XSm Mz)7D#j/)xcbCX2)RĀLD:4#@EE$* Jj%5WR4&V*$CF2=eg^y2OƳp6 <>m%ӮOWYu]Z߻3v 7NYÝ9䵐Bh/\: c5Fg9rq.8t>r|AYNTλ2|̃2kkxWn8-:XĤ-Z%L܃G?@'xtdN N#͡*[]=MkKM׭JXǮMSIte(Bń=E"Pޥ`X"{sw-Niq`V@ %']Qlv 8l $WdVy.~/&c-vl \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/7a/db253299c9511eb5f65a69e3a95e0cd0df768b b/src/test/resources/_git_of_git_commit_id/objects/7a/db253299c9511eb5f65a69e3a95e0cd0df768b new file mode 100644 index 0000000..a5665b0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7a/db253299c9511eb5f65a69e3a95e0cd0df768b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7a/e0a659349400afa26e0fcf00d59cdc5446c7f0 b/src/test/resources/_git_of_git_commit_id/objects/7a/e0a659349400afa26e0fcf00d59cdc5446c7f0 new file mode 100644 index 0000000..635cd53 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/7a/e0a659349400afa26e0fcf00d59cdc5446c7f0 @@ -0,0 +1,2 @@ +xAj0uنli$ZhV%B0؍mInrn?~/e*jfw};{剃,;2`:gnKF +¿$*"VEuL>Қ)…f/;4^釚m>광;YvRpZ_#kT>osD:$H+S);(c=C-_.^ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/7b/b73631950b241d1d8cfbe664a1365527baa386 b/src/test/resources/_git_of_git_commit_id/objects/7b/b73631950b241d1d8cfbe664a1365527baa386 new file mode 100644 index 0000000..a3d72b3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7b/b73631950b241d1d8cfbe664a1365527baa386 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7b/e3b9e1865618822521bd43e9b25b34bd1cb260 b/src/test/resources/_git_of_git_commit_id/objects/7b/e3b9e1865618822521bd43e9b25b34bd1cb260 new file mode 100644 index 0000000..f5a0df6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7b/e3b9e1865618822521bd43e9b25b34bd1cb260 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7b/fe851cdb623b32bc3042074233e93df7bc1a31 b/src/test/resources/_git_of_git_commit_id/objects/7b/fe851cdb623b32bc3042074233e93df7bc1a31 new file mode 100644 index 0000000..33e863c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7b/fe851cdb623b32bc3042074233e93df7bc1a31 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7c/433e75d2f36dd4ccb9f512b1ffb23f4c76d406 b/src/test/resources/_git_of_git_commit_id/objects/7c/433e75d2f36dd4ccb9f512b1ffb23f4c76d406 new file mode 100644 index 0000000..1aebcd4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7c/433e75d2f36dd4ccb9f512b1ffb23f4c76d406 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7c/a049247b1cdf9b39c009834149c6e3e245a254 b/src/test/resources/_git_of_git_commit_id/objects/7c/a049247b1cdf9b39c009834149c6e3e245a254 new file mode 100644 index 0000000..2711639 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7c/a049247b1cdf9b39c009834149c6e3e245a254 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7c/be81bcf5e7fde86186354ba33e9f57c2b819a7 b/src/test/resources/_git_of_git_commit_id/objects/7c/be81bcf5e7fde86186354ba33e9f57c2b819a7 new file mode 100644 index 0000000..9d15cfc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7c/be81bcf5e7fde86186354ba33e9f57c2b819a7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7c/e8fd92a1cc0cf0e69be2281a080233b2645315 b/src/test/resources/_git_of_git_commit_id/objects/7c/e8fd92a1cc0cf0e69be2281a080233b2645315 new file mode 100644 index 0000000..ddc4c51 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7c/e8fd92a1cc0cf0e69be2281a080233b2645315 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7c/fe8b1aeabb292dfb9fb574cdb911b77749e6f4 b/src/test/resources/_git_of_git_commit_id/objects/7c/fe8b1aeabb292dfb9fb574cdb911b77749e6f4 new file mode 100644 index 0000000..d1834c7 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/7c/fe8b1aeabb292dfb9fb574cdb911b77749e6f4 @@ -0,0 +1 @@ +x+)JMU06e040031Q(իapphIhAZ!Rs-_ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/0db92d4209e9db281bcc317df0560eee974382 b/src/test/resources/_git_of_git_commit_id/objects/7d/0db92d4209e9db281bcc317df0560eee974382 new file mode 100644 index 0000000..f96cf43 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/0db92d4209e9db281bcc317df0560eee974382 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/5b62bd3ad7e525b0070f2eeb7bd25051ffe021 b/src/test/resources/_git_of_git_commit_id/objects/7d/5b62bd3ad7e525b0070f2eeb7bd25051ffe021 new file mode 100644 index 0000000..1dd4ac2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/5b62bd3ad7e525b0070f2eeb7bd25051ffe021 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/7987024e2894736c2f4e635dff5679a2a1c9cd b/src/test/resources/_git_of_git_commit_id/objects/7d/7987024e2894736c2f4e635dff5679a2a1c9cd new file mode 100644 index 0000000..aa530a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/7987024e2894736c2f4e635dff5679a2a1c9cd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/a49efee4129ad5113ca2627b22295225641bf0 b/src/test/resources/_git_of_git_commit_id/objects/7d/a49efee4129ad5113ca2627b22295225641bf0 new file mode 100644 index 0000000..55031a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/a49efee4129ad5113ca2627b22295225641bf0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/cf8a55058fed92eae3cbd849f2951378c2898c b/src/test/resources/_git_of_git_commit_id/objects/7d/cf8a55058fed92eae3cbd849f2951378c2898c new file mode 100644 index 0000000..c8911a5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/cf8a55058fed92eae3cbd849f2951378c2898c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/d61f9500b6af9c9030e6e95db2cbd1f7314fcc b/src/test/resources/_git_of_git_commit_id/objects/7d/d61f9500b6af9c9030e6e95db2cbd1f7314fcc new file mode 100644 index 0000000..a381bf3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/d61f9500b6af9c9030e6e95db2cbd1f7314fcc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/ecb421bc38a486eb7be3edbc10d8aed085e114 b/src/test/resources/_git_of_git_commit_id/objects/7d/ecb421bc38a486eb7be3edbc10d8aed085e114 new file mode 100644 index 0000000..ab6dc55 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/ecb421bc38a486eb7be3edbc10d8aed085e114 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7d/fa0373ae7f12102e0426a77248631dbc9395de b/src/test/resources/_git_of_git_commit_id/objects/7d/fa0373ae7f12102e0426a77248631dbc9395de new file mode 100644 index 0000000..8f07812 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7d/fa0373ae7f12102e0426a77248631dbc9395de differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7e/1b752485236f1c26d1b8785ec8cc3ed1f31850 b/src/test/resources/_git_of_git_commit_id/objects/7e/1b752485236f1c26d1b8785ec8cc3ed1f31850 new file mode 100644 index 0000000..2329968 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7e/1b752485236f1c26d1b8785ec8cc3ed1f31850 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7e/3d4e8ba7fa5259e892ca6b677095195ce1dbd1 b/src/test/resources/_git_of_git_commit_id/objects/7e/3d4e8ba7fa5259e892ca6b677095195ce1dbd1 new file mode 100644 index 0000000..746cd95 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7e/3d4e8ba7fa5259e892ca6b677095195ce1dbd1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7e/8b521399d6a0740c98737b442124ae39f5133e b/src/test/resources/_git_of_git_commit_id/objects/7e/8b521399d6a0740c98737b442124ae39f5133e new file mode 100644 index 0000000..0d8f570 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7e/8b521399d6a0740c98737b442124ae39f5133e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7e/a6615dd8b2011f568246a38d72f4534971129b b/src/test/resources/_git_of_git_commit_id/objects/7e/a6615dd8b2011f568246a38d72f4534971129b new file mode 100644 index 0000000..3a377d6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7e/a6615dd8b2011f568246a38d72f4534971129b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7f/248e4de815cb94c6130ccc1cb5a012f108437d b/src/test/resources/_git_of_git_commit_id/objects/7f/248e4de815cb94c6130ccc1cb5a012f108437d new file mode 100644 index 0000000..b08f138 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7f/248e4de815cb94c6130ccc1cb5a012f108437d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7f/9c90ab28019735187ced466f44d5decdfa66c7 b/src/test/resources/_git_of_git_commit_id/objects/7f/9c90ab28019735187ced466f44d5decdfa66c7 new file mode 100644 index 0000000..e71f7d8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7f/9c90ab28019735187ced466f44d5decdfa66c7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7f/f955a5a33fd55c9b14616fef4ef826d6e743c2 b/src/test/resources/_git_of_git_commit_id/objects/7f/f955a5a33fd55c9b14616fef4ef826d6e743c2 new file mode 100644 index 0000000..6f1673c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7f/f955a5a33fd55c9b14616fef4ef826d6e743c2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7f/f9ba3aa5c1ad9c8be8194ae7e3722fbf3bb4a4 b/src/test/resources/_git_of_git_commit_id/objects/7f/f9ba3aa5c1ad9c8be8194ae7e3722fbf3bb4a4 new file mode 100644 index 0000000..85b0e6c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7f/f9ba3aa5c1ad9c8be8194ae7e3722fbf3bb4a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/7f/fe03450186618fe012eddf4ea826d9d2dcabad b/src/test/resources/_git_of_git_commit_id/objects/7f/fe03450186618fe012eddf4ea826d9d2dcabad new file mode 100644 index 0000000..067da39 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/7f/fe03450186618fe012eddf4ea826d9d2dcabad differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/2408ae4228f2f4409acb687e4d5fa1ce718b47 b/src/test/resources/_git_of_git_commit_id/objects/80/2408ae4228f2f4409acb687e4d5fa1ce718b47 new file mode 100644 index 0000000..61550d9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/2408ae4228f2f4409acb687e4d5fa1ce718b47 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/2b86c7e06b4cd74768baceeb9c723eaebcd543 b/src/test/resources/_git_of_git_commit_id/objects/80/2b86c7e06b4cd74768baceeb9c723eaebcd543 new file mode 100644 index 0000000..4287b8a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/2b86c7e06b4cd74768baceeb9c723eaebcd543 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/32af14122108970babcc127e79fb25e497b4e7 b/src/test/resources/_git_of_git_commit_id/objects/80/32af14122108970babcc127e79fb25e497b4e7 new file mode 100644 index 0000000..e9c14a0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/32af14122108970babcc127e79fb25e497b4e7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/42c13a18e14c96df2962b9808e651e46b75ab5 b/src/test/resources/_git_of_git_commit_id/objects/80/42c13a18e14c96df2962b9808e651e46b75ab5 new file mode 100644 index 0000000..3074782 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/42c13a18e14c96df2962b9808e651e46b75ab5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/6678e9f7539dfa2218b7930281fbfe4a47a037 b/src/test/resources/_git_of_git_commit_id/objects/80/6678e9f7539dfa2218b7930281fbfe4a47a037 new file mode 100644 index 0000000..7ac00b4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/6678e9f7539dfa2218b7930281fbfe4a47a037 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/7e7f1462bd0c4458b185ef7552f55ffc4f34ae b/src/test/resources/_git_of_git_commit_id/objects/80/7e7f1462bd0c4458b185ef7552f55ffc4f34ae new file mode 100644 index 0000000..6f4f8d7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/7e7f1462bd0c4458b185ef7552f55ffc4f34ae differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/daae4dcf6713e3c9d064472bc552ce09f806cb b/src/test/resources/_git_of_git_commit_id/objects/80/daae4dcf6713e3c9d064472bc552ce09f806cb new file mode 100644 index 0000000..29e2f98 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/daae4dcf6713e3c9d064472bc552ce09f806cb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/80/faff3b710419f5cf1d6b8166444c3e5f0c3720 b/src/test/resources/_git_of_git_commit_id/objects/80/faff3b710419f5cf1d6b8166444c3e5f0c3720 new file mode 100644 index 0000000..1ec6d60 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/80/faff3b710419f5cf1d6b8166444c3e5f0c3720 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/021fef10bf769c74e2c5a282bc39a190242507 b/src/test/resources/_git_of_git_commit_id/objects/81/021fef10bf769c74e2c5a282bc39a190242507 new file mode 100644 index 0000000..7db353b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/021fef10bf769c74e2c5a282bc39a190242507 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/058db73cd456a809549fd75538d391106413c8 b/src/test/resources/_git_of_git_commit_id/objects/81/058db73cd456a809549fd75538d391106413c8 new file mode 100644 index 0000000..6e0207b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/058db73cd456a809549fd75538d391106413c8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/1df125dc1a8f8e42c7439bc9c9bd503a1693df b/src/test/resources/_git_of_git_commit_id/objects/81/1df125dc1a8f8e42c7439bc9c9bd503a1693df new file mode 100644 index 0000000..56c4637 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/1df125dc1a8f8e42c7439bc9c9bd503a1693df differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/21fb1339406cbf4d2ceaff3723edd5fdc5ded1 b/src/test/resources/_git_of_git_commit_id/objects/81/21fb1339406cbf4d2ceaff3723edd5fdc5ded1 new file mode 100644 index 0000000..126a5c2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/21fb1339406cbf4d2ceaff3723edd5fdc5ded1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/257fe3371d7e5c58841b78f0bf32b8e75d1787 b/src/test/resources/_git_of_git_commit_id/objects/81/257fe3371d7e5c58841b78f0bf32b8e75d1787 new file mode 100644 index 0000000..7f9c90a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/257fe3371d7e5c58841b78f0bf32b8e75d1787 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/97b015ce4d6e702b0a7f5c24fa7e96d72fb736 b/src/test/resources/_git_of_git_commit_id/objects/81/97b015ce4d6e702b0a7f5c24fa7e96d72fb736 new file mode 100644 index 0000000..839634e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/97b015ce4d6e702b0a7f5c24fa7e96d72fb736 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/ae04dbfe7f1176758521f6dd73d11256483871 b/src/test/resources/_git_of_git_commit_id/objects/81/ae04dbfe7f1176758521f6dd73d11256483871 new file mode 100644 index 0000000..54175bc --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/81/ae04dbfe7f1176758521f6dd73d11256483871 @@ -0,0 +1 @@ +x5ο+QS%nn,9s=@6:2)ݍ[B "ED"lʂ榼õ}OJ΅aR5J$#@6|L!儒:i,ѹ1^==].އ˿@цʱMDhP|zC+ 5\6P_`KƱC"z,Q,ylU 9Z`l{>W \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/81/f535a6ed9c92fd6582bdd93680b02cbbba04f0 b/src/test/resources/_git_of_git_commit_id/objects/81/f535a6ed9c92fd6582bdd93680b02cbbba04f0 new file mode 100644 index 0000000..69b5d26 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/81/f535a6ed9c92fd6582bdd93680b02cbbba04f0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/82/5def21ceffaad1b0bc0f60a4174f525cc443a4 b/src/test/resources/_git_of_git_commit_id/objects/82/5def21ceffaad1b0bc0f60a4174f525cc443a4 new file mode 100644 index 0000000..73b490a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/82/5def21ceffaad1b0bc0f60a4174f525cc443a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/82/648ff591d5e40c7c39473f92e566c093ff5fc5 b/src/test/resources/_git_of_git_commit_id/objects/82/648ff591d5e40c7c39473f92e566c093ff5fc5 new file mode 100644 index 0000000..891cbcf --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/82/648ff591d5e40c7c39473f92e566c093ff5fc5 @@ -0,0 +1 @@ +xMj0F)fk+JR7e ~Ct>x<>n2)_@D\ȳH"09qleUxli(*BB|8b:|cOv|}㲃oauoBLvy`*4tv̍p.A}|^/@^ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/82/64b5efe43412001784af81d30f955d5be0809f b/src/test/resources/_git_of_git_commit_id/objects/82/64b5efe43412001784af81d30f955d5be0809f new file mode 100644 index 0000000..3b59d25 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/82/64b5efe43412001784af81d30f955d5be0809f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/82/73e826eade3e261a690899eaf4d9b203e41882 b/src/test/resources/_git_of_git_commit_id/objects/82/73e826eade3e261a690899eaf4d9b203e41882 new file mode 100644 index 0000000..0abd2ba Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/82/73e826eade3e261a690899eaf4d9b203e41882 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/82/74a245abd7872ff2244c14e425840ee03a209b b/src/test/resources/_git_of_git_commit_id/objects/82/74a245abd7872ff2244c14e425840ee03a209b new file mode 100644 index 0000000..a35eb2b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/82/74a245abd7872ff2244c14e425840ee03a209b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/82/bd2808f90ef3286c2827fd0ced70d42d57610d b/src/test/resources/_git_of_git_commit_id/objects/82/bd2808f90ef3286c2827fd0ced70d42d57610d new file mode 100644 index 0000000..43a6990 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/82/bd2808f90ef3286c2827fd0ced70d42d57610d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/83/06b07d845a26c867e6ac09064dd364de6f8263 b/src/test/resources/_git_of_git_commit_id/objects/83/06b07d845a26c867e6ac09064dd364de6f8263 new file mode 100644 index 0000000..3040c8d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/83/06b07d845a26c867e6ac09064dd364de6f8263 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/83/7dca5ed9c5099db94611ba06e9c35840338d72 b/src/test/resources/_git_of_git_commit_id/objects/83/7dca5ed9c5099db94611ba06e9c35840338d72 new file mode 100644 index 0000000..a505251 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/83/7dca5ed9c5099db94611ba06e9c35840338d72 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/83/873a6f00ef57e6e4a96b1fe640cd4668b337fd b/src/test/resources/_git_of_git_commit_id/objects/83/873a6f00ef57e6e4a96b1fe640cd4668b337fd new file mode 100644 index 0000000..a858023 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/83/873a6f00ef57e6e4a96b1fe640cd4668b337fd @@ -0,0 +1,2 @@ +xK +0@]J2{ko{<^r*wZDC%aI(^SLG%V*2W :aŧ6%;k$hm ED8yAຖ)\mƢ?yD਍֊*TY`[#UQ5Sb \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/84/4130c5c4ad9a8409172bba29864380f164ccd8 b/src/test/resources/_git_of_git_commit_id/objects/84/4130c5c4ad9a8409172bba29864380f164ccd8 new file mode 100644 index 0000000..b2a8c45 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/84/4130c5c4ad9a8409172bba29864380f164ccd8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/84/43480e4acc9afb36d0906ba33d16217dd31d1e b/src/test/resources/_git_of_git_commit_id/objects/84/43480e4acc9afb36d0906ba33d16217dd31d1e new file mode 100644 index 0000000..a59bd6d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/84/43480e4acc9afb36d0906ba33d16217dd31d1e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/84/6cd36ff01b0c38179e7591eb52a87c34481f81 b/src/test/resources/_git_of_git_commit_id/objects/84/6cd36ff01b0c38179e7591eb52a87c34481f81 new file mode 100644 index 0000000..9595b53 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/84/6cd36ff01b0c38179e7591eb52a87c34481f81 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/84/919b1370d44f510f3f20edbda0c449663c8de1 b/src/test/resources/_git_of_git_commit_id/objects/84/919b1370d44f510f3f20edbda0c449663c8de1 new file mode 100644 index 0000000..3bc69ad Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/84/919b1370d44f510f3f20edbda0c449663c8de1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/84/b5a42066a52eba7e81a32c8aa64ce165be417a b/src/test/resources/_git_of_git_commit_id/objects/84/b5a42066a52eba7e81a32c8aa64ce165be417a new file mode 100644 index 0000000..d92ea0b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/84/b5a42066a52eba7e81a32c8aa64ce165be417a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/84/eff6e13e825ace463feb41cede71871bc78cef b/src/test/resources/_git_of_git_commit_id/objects/84/eff6e13e825ace463feb41cede71871bc78cef new file mode 100644 index 0000000..f3b0433 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/84/eff6e13e825ace463feb41cede71871bc78cef differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/11805b8383787a764fbee5ddef6c206398e146 b/src/test/resources/_git_of_git_commit_id/objects/85/11805b8383787a764fbee5ddef6c206398e146 new file mode 100644 index 0000000..65e01e5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/11805b8383787a764fbee5ddef6c206398e146 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/2f3680d1b321f91d385bf9133bafcfa514064a b/src/test/resources/_git_of_git_commit_id/objects/85/2f3680d1b321f91d385bf9133bafcfa514064a new file mode 100644 index 0000000..3c7d5cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/2f3680d1b321f91d385bf9133bafcfa514064a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/33257a1861b7bd304716a77d84bb47edff5a80 b/src/test/resources/_git_of_git_commit_id/objects/85/33257a1861b7bd304716a77d84bb47edff5a80 new file mode 100644 index 0000000..dba5e4c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/33257a1861b7bd304716a77d84bb47edff5a80 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/818dd10bda666cd2fb4eabdc0b71040f3301cf b/src/test/resources/_git_of_git_commit_id/objects/85/818dd10bda666cd2fb4eabdc0b71040f3301cf new file mode 100644 index 0000000..8c3581e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/818dd10bda666cd2fb4eabdc0b71040f3301cf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/a6c1a47f45212bd7973f3b200b3cc641565aea b/src/test/resources/_git_of_git_commit_id/objects/85/a6c1a47f45212bd7973f3b200b3cc641565aea new file mode 100644 index 0000000..0fca09a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/a6c1a47f45212bd7973f3b200b3cc641565aea differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/ad0f58e6d696488f5cbea3eae136889dfd1e0c b/src/test/resources/_git_of_git_commit_id/objects/85/ad0f58e6d696488f5cbea3eae136889dfd1e0c new file mode 100644 index 0000000..d4a15f0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/ad0f58e6d696488f5cbea3eae136889dfd1e0c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/b54a05e2ecb5363403e4e53b05b063e0c7a7ea b/src/test/resources/_git_of_git_commit_id/objects/85/b54a05e2ecb5363403e4e53b05b063e0c7a7ea new file mode 100644 index 0000000..3854f3c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/b54a05e2ecb5363403e4e53b05b063e0c7a7ea differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/c420bbd9e0d9cce8300d5baca83829c8d888e3 b/src/test/resources/_git_of_git_commit_id/objects/85/c420bbd9e0d9cce8300d5baca83829c8d888e3 new file mode 100644 index 0000000..a3f807a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/c420bbd9e0d9cce8300d5baca83829c8d888e3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/85/c96c1cba5484ecedefc5b74de7f21f39e4adc9 b/src/test/resources/_git_of_git_commit_id/objects/85/c96c1cba5484ecedefc5b74de7f21f39e4adc9 new file mode 100644 index 0000000..8dec7cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/85/c96c1cba5484ecedefc5b74de7f21f39e4adc9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/86/179a9767cd2c5d94080b7c077ffe0d23ad145f b/src/test/resources/_git_of_git_commit_id/objects/86/179a9767cd2c5d94080b7c077ffe0d23ad145f new file mode 100644 index 0000000..358fb6b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/86/179a9767cd2c5d94080b7c077ffe0d23ad145f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/86/2317036ca1124840d7a1fa6a7c435b34947eee b/src/test/resources/_git_of_git_commit_id/objects/86/2317036ca1124840d7a1fa6a7c435b34947eee new file mode 100644 index 0000000..6a40323 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/86/2317036ca1124840d7a1fa6a7c435b34947eee differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/86/b708d3633b4fac95aba5aef49b2aea07ab2524 b/src/test/resources/_git_of_git_commit_id/objects/86/b708d3633b4fac95aba5aef49b2aea07ab2524 new file mode 100644 index 0000000..5d3d029 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/86/b708d3633b4fac95aba5aef49b2aea07ab2524 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/86/d27d701eceaa868cc9c0bf77087aefc0d8cf65 b/src/test/resources/_git_of_git_commit_id/objects/86/d27d701eceaa868cc9c0bf77087aefc0d8cf65 new file mode 100644 index 0000000..a7d9464 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/86/d27d701eceaa868cc9c0bf77087aefc0d8cf65 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/87/11f60c2601030c19c29e467500a1b1c167345c b/src/test/resources/_git_of_git_commit_id/objects/87/11f60c2601030c19c29e467500a1b1c167345c new file mode 100644 index 0000000..dd91394 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/87/11f60c2601030c19c29e467500a1b1c167345c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/87/67b3af2cf06556ce09015d889a26c97524d282 b/src/test/resources/_git_of_git_commit_id/objects/87/67b3af2cf06556ce09015d889a26c97524d282 new file mode 100644 index 0000000..f57d216 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/87/67b3af2cf06556ce09015d889a26c97524d282 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/87/87a73a836fd0e6f2cf619cd4521a9d154605b7 b/src/test/resources/_git_of_git_commit_id/objects/87/87a73a836fd0e6f2cf619cd4521a9d154605b7 new file mode 100644 index 0000000..c177c4b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/87/87a73a836fd0e6f2cf619cd4521a9d154605b7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/87/8985ab1dd0c062c201da2a47f5bd3365545245 b/src/test/resources/_git_of_git_commit_id/objects/87/8985ab1dd0c062c201da2a47f5bd3365545245 new file mode 100644 index 0000000..c9c08b3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/87/8985ab1dd0c062c201da2a47f5bd3365545245 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/87/9802e832db924fe832544e93aecb9f011a7350 b/src/test/resources/_git_of_git_commit_id/objects/87/9802e832db924fe832544e93aecb9f011a7350 new file mode 100644 index 0000000..c9e3b84 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/87/9802e832db924fe832544e93aecb9f011a7350 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/88/2190afff165cb2953037e958e82af515f55f09 b/src/test/resources/_git_of_git_commit_id/objects/88/2190afff165cb2953037e958e82af515f55f09 new file mode 100644 index 0000000..f096995 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/88/2190afff165cb2953037e958e82af515f55f09 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/88/adcb5021859e12ff0a5b445578ea1d46ca5bd9 b/src/test/resources/_git_of_git_commit_id/objects/88/adcb5021859e12ff0a5b445578ea1d46ca5bd9 new file mode 100644 index 0000000..6c91abf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/88/adcb5021859e12ff0a5b445578ea1d46ca5bd9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/89/1cbcfa7868ec97689a3aafe5eb02dbc11b3df5 b/src/test/resources/_git_of_git_commit_id/objects/89/1cbcfa7868ec97689a3aafe5eb02dbc11b3df5 new file mode 100644 index 0000000..319a116 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/89/1cbcfa7868ec97689a3aafe5eb02dbc11b3df5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/89/6806b057b8a32b0f17f3d44b649c56696a1ce6 b/src/test/resources/_git_of_git_commit_id/objects/89/6806b057b8a32b0f17f3d44b649c56696a1ce6 new file mode 100644 index 0000000..cbe797e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/89/6806b057b8a32b0f17f3d44b649c56696a1ce6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/89/afd33075be19d5c514d7667f9f1c7daeef9b67 b/src/test/resources/_git_of_git_commit_id/objects/89/afd33075be19d5c514d7667f9f1c7daeef9b67 new file mode 100644 index 0000000..10b90f5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/89/afd33075be19d5c514d7667f9f1c7daeef9b67 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/89/b44944a34c9c3a96b67e624651acfa0cbd1467 b/src/test/resources/_git_of_git_commit_id/objects/89/b44944a34c9c3a96b67e624651acfa0cbd1467 new file mode 100644 index 0000000..7408878 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/89/b44944a34c9c3a96b67e624651acfa0cbd1467 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8a/462951b7578c511f6639ef72ab37aa12cd7e62 b/src/test/resources/_git_of_git_commit_id/objects/8a/462951b7578c511f6639ef72ab37aa12cd7e62 new file mode 100644 index 0000000..5e20cb1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8a/462951b7578c511f6639ef72ab37aa12cd7e62 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8a/67a9fee3512b9c60820899a865000fbfbe5538 b/src/test/resources/_git_of_git_commit_id/objects/8a/67a9fee3512b9c60820899a865000fbfbe5538 new file mode 100644 index 0000000..419219a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8a/67a9fee3512b9c60820899a865000fbfbe5538 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8a/c26ed9dd1e3df2b1b31938d32a97c3a159d2eb b/src/test/resources/_git_of_git_commit_id/objects/8a/c26ed9dd1e3df2b1b31938d32a97c3a159d2eb new file mode 100644 index 0000000..0d9d98f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8a/c26ed9dd1e3df2b1b31938d32a97c3a159d2eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8a/fcb876fff58d1503eff5f5da984ca2980236a5 b/src/test/resources/_git_of_git_commit_id/objects/8a/fcb876fff58d1503eff5f5da984ca2980236a5 new file mode 100644 index 0000000..9e54f63 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8a/fcb876fff58d1503eff5f5da984ca2980236a5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8b/092a07fcde2fe39dce8b5cd6de2a683fef3ccf b/src/test/resources/_git_of_git_commit_id/objects/8b/092a07fcde2fe39dce8b5cd6de2a683fef3ccf new file mode 100644 index 0000000..93ddd41 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8b/092a07fcde2fe39dce8b5cd6de2a683fef3ccf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8b/1cc7901fbf57db49e2eb2cbb8e6e5c28f0fdf6 b/src/test/resources/_git_of_git_commit_id/objects/8b/1cc7901fbf57db49e2eb2cbb8e6e5c28f0fdf6 new file mode 100644 index 0000000..56fd3e0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8b/1cc7901fbf57db49e2eb2cbb8e6e5c28f0fdf6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8b/2a2fe84feaeaba56953d6d4d0d649b3cf755eb b/src/test/resources/_git_of_git_commit_id/objects/8b/2a2fe84feaeaba56953d6d4d0d649b3cf755eb new file mode 100644 index 0000000..fe1744d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/8b/2a2fe84feaeaba56953d6d4d0d649b3cf755eb @@ -0,0 +1,4 @@ +x}N@Eiٯ8Q-4T !(=Z;c*g$ u@E;sqnl٨9v'G01n`@"ZCbm +\Y +hSr53ں:2`5#V B  ,ZFXц>CLBg*l%?i+p.ni=Ii;ꬣS, +ɣ|}!2I'T۾Rz+%IƤXPP_[=q uI;j?oS7鵙 \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/8b/4d16d8dbdae30b646b04c4a6311e76b2ab83f8 b/src/test/resources/_git_of_git_commit_id/objects/8b/4d16d8dbdae30b646b04c4a6311e76b2ab83f8 new file mode 100644 index 0000000..a71c16e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8b/4d16d8dbdae30b646b04c4a6311e76b2ab83f8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8b/87bfe2f1665a5ed0bec544e1b3842e3a6e3d05 b/src/test/resources/_git_of_git_commit_id/objects/8b/87bfe2f1665a5ed0bec544e1b3842e3a6e3d05 new file mode 100644 index 0000000..881a559 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8b/87bfe2f1665a5ed0bec544e1b3842e3a6e3d05 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8b/d1ce85516cdc79f32292b84ab6d69017f2e277 b/src/test/resources/_git_of_git_commit_id/objects/8b/d1ce85516cdc79f32292b84ab6d69017f2e277 new file mode 100644 index 0000000..6f2dc85 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8b/d1ce85516cdc79f32292b84ab6d69017f2e277 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/3581e366cbef9316e1c7866f6bfdc06d41dd21 b/src/test/resources/_git_of_git_commit_id/objects/8c/3581e366cbef9316e1c7866f6bfdc06d41dd21 new file mode 100644 index 0000000..28635a0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/3581e366cbef9316e1c7866f6bfdc06d41dd21 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/447053b2156a1d573523f73c5fdb6571817558 b/src/test/resources/_git_of_git_commit_id/objects/8c/447053b2156a1d573523f73c5fdb6571817558 new file mode 100644 index 0000000..6cd5c9c --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/8c/447053b2156a1d573523f73c5fdb6571817558 @@ -0,0 +1 @@ +x-̻JD1m!{J&3䀅+:Y_g&IZk}_@[_`APF-͹r%Ċ='($4bǒ$FeHmZgۼ=v~ޞ/HRD\H8Ze-d(33鰷p31yx>넗HP )0Ï bѦ\jKfخ.߱Z:nM_gGBSX'R[pr ;OG봲38~7MW \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/4c1d9107d115cb77b7df142475bf9427edecac b/src/test/resources/_git_of_git_commit_id/objects/8c/4c1d9107d115cb77b7df142475bf9427edecac new file mode 100644 index 0000000..9ce54f2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/4c1d9107d115cb77b7df142475bf9427edecac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/7578d885cf26b8437fba4b17c4f081b359afee b/src/test/resources/_git_of_git_commit_id/objects/8c/7578d885cf26b8437fba4b17c4f081b359afee new file mode 100644 index 0000000..3f986b7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/7578d885cf26b8437fba4b17c4f081b359afee differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/8510d2dc96ded4850f3430085db628875bf4a5 b/src/test/resources/_git_of_git_commit_id/objects/8c/8510d2dc96ded4850f3430085db628875bf4a5 new file mode 100644 index 0000000..4a4fd7d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/8510d2dc96ded4850f3430085db628875bf4a5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/b3a84241b17517e0264945f10a66fba77726f8 b/src/test/resources/_git_of_git_commit_id/objects/8c/b3a84241b17517e0264945f10a66fba77726f8 new file mode 100644 index 0000000..0ec4c20 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/b3a84241b17517e0264945f10a66fba77726f8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/dbbc98f32fb6aecd07ff8a3e604abfb5ff11eb b/src/test/resources/_git_of_git_commit_id/objects/8c/dbbc98f32fb6aecd07ff8a3e604abfb5ff11eb new file mode 100644 index 0000000..e8e3ee8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/dbbc98f32fb6aecd07ff8a3e604abfb5ff11eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8c/f669848038762904c69dee0e23ba243175d77d b/src/test/resources/_git_of_git_commit_id/objects/8c/f669848038762904c69dee0e23ba243175d77d new file mode 100644 index 0000000..8eed7de Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8c/f669848038762904c69dee0e23ba243175d77d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8d/1257fcb8253c7b7eec86ed9a6de7a0f7a43cf3 b/src/test/resources/_git_of_git_commit_id/objects/8d/1257fcb8253c7b7eec86ed9a6de7a0f7a43cf3 new file mode 100644 index 0000000..8b9496a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8d/1257fcb8253c7b7eec86ed9a6de7a0f7a43cf3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8d/3dd3139d9e7b4e831b7416743c2d160d73c52f b/src/test/resources/_git_of_git_commit_id/objects/8d/3dd3139d9e7b4e831b7416743c2d160d73c52f new file mode 100644 index 0000000..f447146 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8d/3dd3139d9e7b4e831b7416743c2d160d73c52f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8d/547676cddcd3351c522ec162762724b2e8781f b/src/test/resources/_git_of_git_commit_id/objects/8d/547676cddcd3351c522ec162762724b2e8781f new file mode 100644 index 0000000..cc75e82 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8d/547676cddcd3351c522ec162762724b2e8781f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8d/8173cf0e4a332ddd83179d36b18f1ea2b3c055 b/src/test/resources/_git_of_git_commit_id/objects/8d/8173cf0e4a332ddd83179d36b18f1ea2b3c055 new file mode 100644 index 0000000..ac3d08e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8d/8173cf0e4a332ddd83179d36b18f1ea2b3c055 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8d/8d0f3e0fa07770832b48f6eb643a951b7a0755 b/src/test/resources/_git_of_git_commit_id/objects/8d/8d0f3e0fa07770832b48f6eb643a951b7a0755 new file mode 100644 index 0000000..123407b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/8d/8d0f3e0fa07770832b48f6eb643a951b7a0755 @@ -0,0 +1,2 @@ +x5-KDA[6j0=sL0 bs),AX F‚`3ns +k U`oZlM djUbm}wB9~ևۯK6DBIMNUcHq1pWG٥A{͔Q!Hg-:[S8]}tֻ?_'BF(8@Q>O۶>.w;?V \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/8d/ec7cd0a8f635f6e5478bfd6486f3ffe380b167 b/src/test/resources/_git_of_git_commit_id/objects/8d/ec7cd0a8f635f6e5478bfd6486f3ffe380b167 new file mode 100644 index 0000000..c0b9768 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8d/ec7cd0a8f635f6e5478bfd6486f3ffe380b167 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8e/2dc9b2791ea597027eda96bda70b915a2f9640 b/src/test/resources/_git_of_git_commit_id/objects/8e/2dc9b2791ea597027eda96bda70b915a2f9640 new file mode 100644 index 0000000..623f472 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8e/2dc9b2791ea597027eda96bda70b915a2f9640 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8e/572bdbaae94d3dc30373a041172cefdc456950 b/src/test/resources/_git_of_git_commit_id/objects/8e/572bdbaae94d3dc30373a041172cefdc456950 new file mode 100644 index 0000000..72067cb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8e/572bdbaae94d3dc30373a041172cefdc456950 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8e/c5f6ba841e8a65d1f15be7560f53f730e5c933 b/src/test/resources/_git_of_git_commit_id/objects/8e/c5f6ba841e8a65d1f15be7560f53f730e5c933 new file mode 100644 index 0000000..35dbd88 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8e/c5f6ba841e8a65d1f15be7560f53f730e5c933 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8e/d1a3cc7ea7449cbf9eada18d42433efb43387c b/src/test/resources/_git_of_git_commit_id/objects/8e/d1a3cc7ea7449cbf9eada18d42433efb43387c new file mode 100644 index 0000000..7577ed2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8e/d1a3cc7ea7449cbf9eada18d42433efb43387c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8e/ed7de09afaf4ad524c509f6b778f9fe74de288 b/src/test/resources/_git_of_git_commit_id/objects/8e/ed7de09afaf4ad524c509f6b778f9fe74de288 new file mode 100644 index 0000000..769db9f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8e/ed7de09afaf4ad524c509f6b778f9fe74de288 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8e/f22f5eb8a7096316bac5f928beee667da5d105 b/src/test/resources/_git_of_git_commit_id/objects/8e/f22f5eb8a7096316bac5f928beee667da5d105 new file mode 100644 index 0000000..a9146a2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8e/f22f5eb8a7096316bac5f928beee667da5d105 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8f/078125c202ba135f60a6c1ce7fdc9c6a72c5f1 b/src/test/resources/_git_of_git_commit_id/objects/8f/078125c202ba135f60a6c1ce7fdc9c6a72c5f1 new file mode 100644 index 0000000..d584059 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/8f/078125c202ba135f60a6c1ce7fdc9c6a72c5f1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/8f/143b9428b7dad540e811c90556c17e7bb7c28d b/src/test/resources/_git_of_git_commit_id/objects/8f/143b9428b7dad540e811c90556c17e7bb7c28d new file mode 100644 index 0000000..9c4c222 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/8f/143b9428b7dad540e811c90556c17e7bb7c28d @@ -0,0 +1 @@ +x+)JMU041c040031Qp,q,LJ,Kd5'p5C:֭fAmyUo"P1oc6rMO2 hh$qA-d=MɘCghxXDNJ278S'q`wfaiUrG,= @-5j%ť zPQ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/91/1437ed0d38e5034c6aef6dd4bf037189bfe23e b/src/test/resources/_git_of_git_commit_id/objects/91/1437ed0d38e5034c6aef6dd4bf037189bfe23e new file mode 100644 index 0000000..098d479 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/91/1437ed0d38e5034c6aef6dd4bf037189bfe23e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/91/2ddd2f6a5a4a9195c8a7d1e78be1b95ccea2fd b/src/test/resources/_git_of_git_commit_id/objects/91/2ddd2f6a5a4a9195c8a7d1e78be1b95ccea2fd new file mode 100644 index 0000000..f8ebc72 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/91/2ddd2f6a5a4a9195c8a7d1e78be1b95ccea2fd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/91/ab546cf04071726eaac37103fa54371d3ea796 b/src/test/resources/_git_of_git_commit_id/objects/91/ab546cf04071726eaac37103fa54371d3ea796 new file mode 100644 index 0000000..d63116c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/91/ab546cf04071726eaac37103fa54371d3ea796 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/91/ccdd53b2da1a34a9a2e9f85d071ec2462d014d b/src/test/resources/_git_of_git_commit_id/objects/91/ccdd53b2da1a34a9a2e9f85d071ec2462d014d new file mode 100644 index 0000000..a52a8a3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/91/ccdd53b2da1a34a9a2e9f85d071ec2462d014d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/91/e51dc1181dfd7e2c8f8e892967a52ab7f4678e b/src/test/resources/_git_of_git_commit_id/objects/91/e51dc1181dfd7e2c8f8e892967a52ab7f4678e new file mode 100644 index 0000000..566dead Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/91/e51dc1181dfd7e2c8f8e892967a52ab7f4678e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/91/fcba9daff44c4280742342936eeb9eb1826b1d b/src/test/resources/_git_of_git_commit_id/objects/91/fcba9daff44c4280742342936eeb9eb1826b1d new file mode 100644 index 0000000..930e446 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/91/fcba9daff44c4280742342936eeb9eb1826b1d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/1bd2d16cadcc45d47675f5180e726e975532dc b/src/test/resources/_git_of_git_commit_id/objects/92/1bd2d16cadcc45d47675f5180e726e975532dc new file mode 100644 index 0000000..89afd33 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/1bd2d16cadcc45d47675f5180e726e975532dc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/337cc4ac3e1095bd2e67b47192475c2c0aa25d b/src/test/resources/_git_of_git_commit_id/objects/92/337cc4ac3e1095bd2e67b47192475c2c0aa25d new file mode 100644 index 0000000..d5fe2d7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/337cc4ac3e1095bd2e67b47192475c2c0aa25d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/3c6c254a5720941892f73089d6c8cd7bfba260 b/src/test/resources/_git_of_git_commit_id/objects/92/3c6c254a5720941892f73089d6c8cd7bfba260 new file mode 100644 index 0000000..94368d4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/3c6c254a5720941892f73089d6c8cd7bfba260 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/6a635ceb67ba6e60669e3a926b8316713f5cfa b/src/test/resources/_git_of_git_commit_id/objects/92/6a635ceb67ba6e60669e3a926b8316713f5cfa new file mode 100644 index 0000000..0858213 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/6a635ceb67ba6e60669e3a926b8316713f5cfa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/966e9410e192f79fb2efd292a8e4e851c5f728 b/src/test/resources/_git_of_git_commit_id/objects/92/966e9410e192f79fb2efd292a8e4e851c5f728 new file mode 100644 index 0000000..c65ff9f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/966e9410e192f79fb2efd292a8e4e851c5f728 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/c7ba5faaca535f0156314f2f98a0cef943edbd b/src/test/resources/_git_of_git_commit_id/objects/92/c7ba5faaca535f0156314f2f98a0cef943edbd new file mode 100644 index 0000000..5e073a1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/c7ba5faaca535f0156314f2f98a0cef943edbd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/d96560028e8287220276b242b4d9285ac9d11d b/src/test/resources/_git_of_git_commit_id/objects/92/d96560028e8287220276b242b4d9285ac9d11d new file mode 100644 index 0000000..942e99e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/d96560028e8287220276b242b4d9285ac9d11d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/92/fe0f7ad02de0025e48d9adf49d06808ee4bf77 b/src/test/resources/_git_of_git_commit_id/objects/92/fe0f7ad02de0025e48d9adf49d06808ee4bf77 new file mode 100644 index 0000000..421acea Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/92/fe0f7ad02de0025e48d9adf49d06808ee4bf77 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/93/20ebc548b11dd2a262c9d5f7ef89d6aba98291 b/src/test/resources/_git_of_git_commit_id/objects/93/20ebc548b11dd2a262c9d5f7ef89d6aba98291 new file mode 100644 index 0000000..7f8c974 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/93/20ebc548b11dd2a262c9d5f7ef89d6aba98291 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/93/eef30b2702eba09c5fafb69707bd17e7f9f34f b/src/test/resources/_git_of_git_commit_id/objects/93/eef30b2702eba09c5fafb69707bd17e7f9f34f new file mode 100644 index 0000000..88b6732 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/93/eef30b2702eba09c5fafb69707bd17e7f9f34f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/93/f54ffe08ca902fd0e019f15ef77df14d320ab7 b/src/test/resources/_git_of_git_commit_id/objects/93/f54ffe08ca902fd0e019f15ef77df14d320ab7 new file mode 100644 index 0000000..0f8d84d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/93/f54ffe08ca902fd0e019f15ef77df14d320ab7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/1ed07219e6c7f2fb241f5c0415e5959b6970fc b/src/test/resources/_git_of_git_commit_id/objects/94/1ed07219e6c7f2fb241f5c0415e5959b6970fc new file mode 100644 index 0000000..ee8805d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/1ed07219e6c7f2fb241f5c0415e5959b6970fc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/2e99e9b360c4cdbc96c4810e5a5dbb61212c9b b/src/test/resources/_git_of_git_commit_id/objects/94/2e99e9b360c4cdbc96c4810e5a5dbb61212c9b new file mode 100644 index 0000000..5390438 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/2e99e9b360c4cdbc96c4810e5a5dbb61212c9b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/368d432f70f48519ec8ff667caaf0b9bbf5d8d b/src/test/resources/_git_of_git_commit_id/objects/94/368d432f70f48519ec8ff667caaf0b9bbf5d8d new file mode 100644 index 0000000..3b72030 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/368d432f70f48519ec8ff667caaf0b9bbf5d8d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/4e5230db336be8a3b43d982373a22acc48d833 b/src/test/resources/_git_of_git_commit_id/objects/94/4e5230db336be8a3b43d982373a22acc48d833 new file mode 100644 index 0000000..66eddfe Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/4e5230db336be8a3b43d982373a22acc48d833 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/4f86523f4de211f5a0bf333e6be298c10e6d64 b/src/test/resources/_git_of_git_commit_id/objects/94/4f86523f4de211f5a0bf333e6be298c10e6d64 new file mode 100644 index 0000000..43fb9b3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/4f86523f4de211f5a0bf333e6be298c10e6d64 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/650e8110e2ff1ab56e8fe7a9e6a9cd783abcf4 b/src/test/resources/_git_of_git_commit_id/objects/94/650e8110e2ff1ab56e8fe7a9e6a9cd783abcf4 new file mode 100644 index 0000000..dd88fb0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/650e8110e2ff1ab56e8fe7a9e6a9cd783abcf4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/8468fcdd6d0ecef919ad62e380e92908a7eaf5 b/src/test/resources/_git_of_git_commit_id/objects/94/8468fcdd6d0ecef919ad62e380e92908a7eaf5 new file mode 100644 index 0000000..b78b3af Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/8468fcdd6d0ecef919ad62e380e92908a7eaf5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/b81a3ea9cadbd263139924d5a589f8343d8dd5 b/src/test/resources/_git_of_git_commit_id/objects/94/b81a3ea9cadbd263139924d5a589f8343d8dd5 new file mode 100644 index 0000000..b87161d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/94/b81a3ea9cadbd263139924d5a589f8343d8dd5 @@ -0,0 +1,3 @@ +x-ίJDA\}A[L̜,M3g,k7 ^AQ T6mQ ogT +)(QI aJ*BLbn;haܪdIjY`Q4*9,)q1~|u?>l7B: +uYX)S"o-X\ o>:3/ٵ^ouxnɺ*L( $XG]|߃ϓw'p}ϹZ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/e10500404e957d85cba77fc6650bfff1f9738f b/src/test/resources/_git_of_git_commit_id/objects/94/e10500404e957d85cba77fc6650bfff1f9738f new file mode 100644 index 0000000..d6c0e5b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/e10500404e957d85cba77fc6650bfff1f9738f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/94/efecc500a73df9c27b450960676721ec803752 b/src/test/resources/_git_of_git_commit_id/objects/94/efecc500a73df9c27b450960676721ec803752 new file mode 100644 index 0000000..8fc6298 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/94/efecc500a73df9c27b450960676721ec803752 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/95/592c9b6fb3dca0bf906440574369815c590b87 b/src/test/resources/_git_of_git_commit_id/objects/95/592c9b6fb3dca0bf906440574369815c590b87 new file mode 100644 index 0000000..c7a9410 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/95/592c9b6fb3dca0bf906440574369815c590b87 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/95/aa47f03be22fc4dacde1664725fc437fb5152c b/src/test/resources/_git_of_git_commit_id/objects/95/aa47f03be22fc4dacde1664725fc437fb5152c new file mode 100644 index 0000000..4d39b49 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/95/aa47f03be22fc4dacde1664725fc437fb5152c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/95/ab69268b76d13dbb5119f35c71700a8a5aee76 b/src/test/resources/_git_of_git_commit_id/objects/95/ab69268b76d13dbb5119f35c71700a8a5aee76 new file mode 100644 index 0000000..f56ee27 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/95/ab69268b76d13dbb5119f35c71700a8a5aee76 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/95/bdc6dd21c867d1222cfb00752873052cd89168 b/src/test/resources/_git_of_git_commit_id/objects/95/bdc6dd21c867d1222cfb00752873052cd89168 new file mode 100644 index 0000000..9edcdea Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/95/bdc6dd21c867d1222cfb00752873052cd89168 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/96/416c95a78391178da1b7a4ab4d34a92cc4321d b/src/test/resources/_git_of_git_commit_id/objects/96/416c95a78391178da1b7a4ab4d34a92cc4321d new file mode 100644 index 0000000..eae1aaa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/96/416c95a78391178da1b7a4ab4d34a92cc4321d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/96/8228d72b998439116eb01ef0562c98de42b21f b/src/test/resources/_git_of_git_commit_id/objects/96/8228d72b998439116eb01ef0562c98de42b21f new file mode 100644 index 0000000..692be46 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/96/8228d72b998439116eb01ef0562c98de42b21f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/96/a4a5a6adc49138b6bc2c72f07a8fdb88ca1746 b/src/test/resources/_git_of_git_commit_id/objects/96/a4a5a6adc49138b6bc2c72f07a8fdb88ca1746 new file mode 100644 index 0000000..1f00198 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/96/a4a5a6adc49138b6bc2c72f07a8fdb88ca1746 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/96/bffbb27d4af1a80ca5e0a1a6c6be1b0d6d11c2 b/src/test/resources/_git_of_git_commit_id/objects/96/bffbb27d4af1a80ca5e0a1a6c6be1b0d6d11c2 new file mode 100644 index 0000000..ec802b7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/96/bffbb27d4af1a80ca5e0a1a6c6be1b0d6d11c2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/96/ca8c71dc1aa8c95abe1af447e80def30665d4e b/src/test/resources/_git_of_git_commit_id/objects/96/ca8c71dc1aa8c95abe1af447e80def30665d4e new file mode 100644 index 0000000..6faebc1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/96/ca8c71dc1aa8c95abe1af447e80def30665d4e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/96/fba8a5d85b906b2bb3044e9a34f6e8b15211e2 b/src/test/resources/_git_of_git_commit_id/objects/96/fba8a5d85b906b2bb3044e9a34f6e8b15211e2 new file mode 100644 index 0000000..31c9eb7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/96/fba8a5d85b906b2bb3044e9a34f6e8b15211e2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/1ea0a502e29e4fdea38d8388188e6533d63731 b/src/test/resources/_git_of_git_commit_id/objects/97/1ea0a502e29e4fdea38d8388188e6533d63731 new file mode 100644 index 0000000..b308bf0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/97/1ea0a502e29e4fdea38d8388188e6533d63731 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/473b450763e7d3e3511f533b26157456f121fe b/src/test/resources/_git_of_git_commit_id/objects/97/473b450763e7d3e3511f533b26157456f121fe new file mode 100644 index 0000000..3c4d332 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/97/473b450763e7d3e3511f533b26157456f121fe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/5e777bc909ac5ea3e29506b5d1abe271e1d56d b/src/test/resources/_git_of_git_commit_id/objects/97/5e777bc909ac5ea3e29506b5d1abe271e1d56d new file mode 100644 index 0000000..d346916 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/97/5e777bc909ac5ea3e29506b5d1abe271e1d56d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/6f30525b39f56f0eb012f44caa95b4f68e1a8e b/src/test/resources/_git_of_git_commit_id/objects/97/6f30525b39f56f0eb012f44caa95b4f68e1a8e new file mode 100644 index 0000000..8fe9844 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/97/6f30525b39f56f0eb012f44caa95b4f68e1a8e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/73ed4cb298f6883adcd1269de5c9f97fc6d8fe b/src/test/resources/_git_of_git_commit_id/objects/97/73ed4cb298f6883adcd1269de5c9f97fc6d8fe new file mode 100644 index 0000000..d51d80a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/97/73ed4cb298f6883adcd1269de5c9f97fc6d8fe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/af0c1ab8335fe3a01be73d8b7b3eebf0ceab00 b/src/test/resources/_git_of_git_commit_id/objects/97/af0c1ab8335fe3a01be73d8b7b3eebf0ceab00 new file mode 100644 index 0000000..14afc9d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/97/af0c1ab8335fe3a01be73d8b7b3eebf0ceab00 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/97/e4b5c56dd0beb0bb8b16a16f99021dee7c7b75 b/src/test/resources/_git_of_git_commit_id/objects/97/e4b5c56dd0beb0bb8b16a16f99021dee7c7b75 new file mode 100644 index 0000000..fcbb6b5 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/97/e4b5c56dd0beb0bb8b16a16f99021dee7c7b75 @@ -0,0 +1,3 @@ +xZmo6W 22+e֡nq%f"I9q=GQ䗦l,w;R=b?|o +ߊdE od^~319('O1S1f:.)[_^Vwx93*ʝ4HyTʍrr﹕$ 1lr#f+*a}, 2'{'Tܾ0JT !` *rr~o17hWٝ19aߔr?6 cmX\QM7{q8Nf^rQ*E~Mz(G)p0E#eʝ$Z :tN?S5VY\'g>&^jZ)3*a"ѤNbcG]'D[#:[[YcT(8BT}cQF ESӸ2'tuS,kܓXiV%S]ɥ:eAtN;L: !c2/ٺō0/*RY?=p?GS&5CcFHDJv?cpr9|6X jzém}+p؍Z*ZZʜ.ɹ\'Z0.P!u>R04%KtIP&` ++kYVs3| -{cTDO*9.ĭΣ.@iWyGhdlwG%Bػx.2(e&T;sS(Ik_q"p@q;Sx~ϴ, PphHٕhaS>O*]0㏐Mqip>#|?߶}/P+WQDMfqBPD@y5f 3,@RPࡇ*pbZQW%w}G:}?|j=y؟`&p|pT=}s]:0+A3|=g#j..R~&V7/i+ kRf론\CC@SM[&*VfEQ2Q&ꡥHoPE.[҈,Gδo6S?ẉUp^`E]FRQ\'k;&2KbC2z@AЖ :ť=饏Їl+,z% \Եp쾁p)l4'RqKS)3!g?'_մV1. < \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/9b/2a330d37ff3935e2e3019595d30306d89c5a9f b/src/test/resources/_git_of_git_commit_id/objects/9b/2a330d37ff3935e2e3019595d30306d89c5a9f new file mode 100644 index 0000000..f466c88 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9b/2a330d37ff3935e2e3019595d30306d89c5a9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9b/5d2f39e62e3aa545e55f78efcc789809735204 b/src/test/resources/_git_of_git_commit_id/objects/9b/5d2f39e62e3aa545e55f78efcc789809735204 new file mode 100644 index 0000000..4c67d92 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9b/5d2f39e62e3aa545e55f78efcc789809735204 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9b/bbfa9677ea3badae80f9d7b7e429a8549a50e7 b/src/test/resources/_git_of_git_commit_id/objects/9b/bbfa9677ea3badae80f9d7b7e429a8549a50e7 new file mode 100644 index 0000000..da508e4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9b/bbfa9677ea3badae80f9d7b7e429a8549a50e7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9b/c3e2194c6bffb63c9225cea817505fd24354db b/src/test/resources/_git_of_git_commit_id/objects/9b/c3e2194c6bffb63c9225cea817505fd24354db new file mode 100644 index 0000000..ed347e1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9b/c3e2194c6bffb63c9225cea817505fd24354db differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9b/eb1e0603aac8981c136191f05f3b58851d1b08 b/src/test/resources/_git_of_git_commit_id/objects/9b/eb1e0603aac8981c136191f05f3b58851d1b08 new file mode 100644 index 0000000..bc39961 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9b/eb1e0603aac8981c136191f05f3b58851d1b08 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9b/f5b5e4bb0705f636f5360afb3bc69b7e8cd61d b/src/test/resources/_git_of_git_commit_id/objects/9b/f5b5e4bb0705f636f5360afb3bc69b7e8cd61d new file mode 100644 index 0000000..6c413d7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9b/f5b5e4bb0705f636f5360afb3bc69b7e8cd61d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/03ac83369f5925fe1725aa867237ec86f763c1 b/src/test/resources/_git_of_git_commit_id/objects/9c/03ac83369f5925fe1725aa867237ec86f763c1 new file mode 100644 index 0000000..40216fb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9c/03ac83369f5925fe1725aa867237ec86f763c1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/292f83c83b3ab597d81e0ddbe008264993bb2e b/src/test/resources/_git_of_git_commit_id/objects/9c/292f83c83b3ab597d81e0ddbe008264993bb2e new file mode 100644 index 0000000..0c7e056 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9c/292f83c83b3ab597d81e0ddbe008264993bb2e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/4c222b378c52df5692fd16cca425ceda7d5353 b/src/test/resources/_git_of_git_commit_id/objects/9c/4c222b378c52df5692fd16cca425ceda7d5353 new file mode 100644 index 0000000..dccf88d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9c/4c222b378c52df5692fd16cca425ceda7d5353 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/722a85b54207a71edb5cfebcc1b4379a6408cd b/src/test/resources/_git_of_git_commit_id/objects/9c/722a85b54207a71edb5cfebcc1b4379a6408cd new file mode 100644 index 0000000..e0109a2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9c/722a85b54207a71edb5cfebcc1b4379a6408cd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/757e282456e01786bfe09c9d3e65ac9fe6c67b b/src/test/resources/_git_of_git_commit_id/objects/9c/757e282456e01786bfe09c9d3e65ac9fe6c67b new file mode 100644 index 0000000..2bea3b1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9c/757e282456e01786bfe09c9d3e65ac9fe6c67b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/8906f973c49acf0757ada0766d192edbd9bf9c b/src/test/resources/_git_of_git_commit_id/objects/9c/8906f973c49acf0757ada0766d192edbd9bf9c new file mode 100644 index 0000000..cec4999 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/9c/8906f973c49acf0757ada0766d192edbd9bf9c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/92e791afd66db510ac9325aacd655d89a0197f b/src/test/resources/_git_of_git_commit_id/objects/9c/92e791afd66db510ac9325aacd655d89a0197f new file mode 100644 index 0000000..864d061 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/9c/92e791afd66db510ac9325aacd655d89a0197f @@ -0,0 +1,3 @@ +x5/KAC1,Z\Դ瞻{Y +7ܿb{ 6/%A-Q a)b6p ʹ kZ H*hBR՘V2;\R5CIbɞ=hP$/G_uaK¿(B.Sf$,͍D1=7gV5?89 +vJ\ `p3b(^Soݭ\c_] \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/9c/b3ade618aa2841dc080c13d3fa9cff83c005a9 b/src/test/resources/_git_of_git_commit_id/objects/9c/b3ade618aa2841dc080c13d3fa9cff83c005a9 new file mode 100644 index 0000000..ba1f37e --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/9c/b3ade618aa2841dc080c13d3fa9cff83c005a9 @@ -0,0 +1,3 @@ +x}N0 `} +VB`&aLJ43#M-w'ƵJۣ櫅ՈVt,޻W#L~h i@;p7*25&n0 z[m8C ΃sd3}FO=&t +WYD&&IO,d8%LnS|i?kݺTNO#_WbCە:4H> l]T%*˶$|m.rR ^ӝS72\0 \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/a3/c2a454aa916c386243f3e289397c5fe4c23cbe b/src/test/resources/_git_of_git_commit_id/objects/a3/c2a454aa916c386243f3e289397c5fe4c23cbe new file mode 100644 index 0000000..2d84d98 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/a3/c2a454aa916c386243f3e289397c5fe4c23cbe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/a3/f7f5d6a71c53620ad28eaeffa88408bc3a763c b/src/test/resources/_git_of_git_commit_id/objects/a3/f7f5d6a71c53620ad28eaeffa88408bc3a763c new file mode 100644 index 0000000..f2c1d89 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/a3/f7f5d6a71c53620ad28eaeffa88408bc3a763c @@ -0,0 +1 @@ +xKn!DlA3EG9AMO;9~Vne+Ws$ǧщ)Ѭb%~RFO8- Zfl2I4(DXg$5N-'75d9(i;u2%1 +uq2=>.Gcʡ<8=\ 6(G(6v{;$J}G؎1/TSA \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b0/46330cfe9fb92b53fbf6a01b089c29270c4bf4 b/src/test/resources/_git_of_git_commit_id/objects/b0/46330cfe9fb92b53fbf6a01b089c29270c4bf4 new file mode 100644 index 0000000..7d3330b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b0/46330cfe9fb92b53fbf6a01b089c29270c4bf4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b0/57b90c7f0520c2771441e32a615538e6ad14be b/src/test/resources/_git_of_git_commit_id/objects/b0/57b90c7f0520c2771441e32a615538e6ad14be new file mode 100644 index 0000000..e2c0579 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b0/57b90c7f0520c2771441e32a615538e6ad14be differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b0/b94f4f90d96a5f1738080509c3680d87cd137f b/src/test/resources/_git_of_git_commit_id/objects/b0/b94f4f90d96a5f1738080509c3680d87cd137f new file mode 100644 index 0000000..98d91e1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b0/b94f4f90d96a5f1738080509c3680d87cd137f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b0/d3aa7ca5c701c48b680f4b9e39d146bae78bb1 b/src/test/resources/_git_of_git_commit_id/objects/b0/d3aa7ca5c701c48b680f4b9e39d146bae78bb1 new file mode 100644 index 0000000..90ac489 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b0/d3aa7ca5c701c48b680f4b9e39d146bae78bb1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/15368e183e6397766fe92c8b9dacf33bf83c44 b/src/test/resources/_git_of_git_commit_id/objects/b1/15368e183e6397766fe92c8b9dacf33bf83c44 new file mode 100644 index 0000000..26b3026 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b1/15368e183e6397766fe92c8b9dacf33bf83c44 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/31db0af9fa42d45843f843d2f46f41b63367a4 b/src/test/resources/_git_of_git_commit_id/objects/b1/31db0af9fa42d45843f843d2f46f41b63367a4 new file mode 100644 index 0000000..c6c92b8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b1/31db0af9fa42d45843f843d2f46f41b63367a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/4078e898feb010022bcccd2ea923d3ab53e861 b/src/test/resources/_git_of_git_commit_id/objects/b1/4078e898feb010022bcccd2ea923d3ab53e861 new file mode 100644 index 0000000..98d094c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b1/4078e898feb010022bcccd2ea923d3ab53e861 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/540bd4dd056351cd75b9f48695c7d2d1c2af3b b/src/test/resources/_git_of_git_commit_id/objects/b1/540bd4dd056351cd75b9f48695c7d2d1c2af3b new file mode 100644 index 0000000..f1580fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b1/540bd4dd056351cd75b9f48695c7d2d1c2af3b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/9c5bb21c778f4f3c2c1f66de96615e17aaf70a b/src/test/resources/_git_of_git_commit_id/objects/b1/9c5bb21c778f4f3c2c1f66de96615e17aaf70a new file mode 100644 index 0000000..a0d0118 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b1/9c5bb21c778f4f3c2c1f66de96615e17aaf70a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/d60ec0e7b0795d7ac7ad3656bc1c29558f96de b/src/test/resources/_git_of_git_commit_id/objects/b1/d60ec0e7b0795d7ac7ad3656bc1c29558f96de new file mode 100644 index 0000000..1c391a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b1/d60ec0e7b0795d7ac7ad3656bc1c29558f96de differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b1/f187c2e9acaba942639bca90a63c5b4f058967 b/src/test/resources/_git_of_git_commit_id/objects/b1/f187c2e9acaba942639bca90a63c5b4f058967 new file mode 100644 index 0000000..59faa1e --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b1/f187c2e9acaba942639bca90a63c5b4f058967 @@ -0,0 +1,2 @@ +x}N0E⯸U7F  uGv:-beOh q;wfΙk6{]5ƅ&[5S3<N8,r\㓒Z-px em +cQKk%ЅY{xY<<uȢe,N(i] h#qLN p&p񽓔AAROli1uA*?%f*&TK֙dJ( jzk&Znãb.iGKjTG [ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/07b15422bd92c76e0f0f0eb47a92968890239d b/src/test/resources/_git_of_git_commit_id/objects/b2/07b15422bd92c76e0f0f0eb47a92968890239d new file mode 100644 index 0000000..aac9ecf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/07b15422bd92c76e0f0f0eb47a92968890239d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/1e8845cbf0ca79e4fb84f526c5b845b55368ef b/src/test/resources/_git_of_git_commit_id/objects/b2/1e8845cbf0ca79e4fb84f526c5b845b55368ef new file mode 100644 index 0000000..ad5c90d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/1e8845cbf0ca79e4fb84f526c5b845b55368ef differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/287e23d9aa0b70442ca4c33bc9c5d75a33b873 b/src/test/resources/_git_of_git_commit_id/objects/b2/287e23d9aa0b70442ca4c33bc9c5d75a33b873 new file mode 100644 index 0000000..644079c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/287e23d9aa0b70442ca4c33bc9c5d75a33b873 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/2ceee80f40e079436dee72ee5ae921c276f947 b/src/test/resources/_git_of_git_commit_id/objects/b2/2ceee80f40e079436dee72ee5ae921c276f947 new file mode 100644 index 0000000..e36ac40 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/2ceee80f40e079436dee72ee5ae921c276f947 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/406cb122418eec78c7056293582ca058dd2796 b/src/test/resources/_git_of_git_commit_id/objects/b2/406cb122418eec78c7056293582ca058dd2796 new file mode 100644 index 0000000..2225d17 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/406cb122418eec78c7056293582ca058dd2796 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/9e4a4acb566c0dde99a48ba7d239c60b4c90a6 b/src/test/resources/_git_of_git_commit_id/objects/b2/9e4a4acb566c0dde99a48ba7d239c60b4c90a6 new file mode 100644 index 0000000..596702d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b2/9e4a4acb566c0dde99a48ba7d239c60b4c90a6 @@ -0,0 +1 @@ +x+)JMU041c040031Qp,q,LJ,Kd0rY%9y̎{~} kDJ-/,/ .I,Ihg{Zg=ȭ-H %871'-3'8$3|D|Ry,^> \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/a70a4c1c138deba1f3c5e3764b29d836c3870d b/src/test/resources/_git_of_git_commit_id/objects/b2/a70a4c1c138deba1f3c5e3764b29d836c3870d new file mode 100644 index 0000000..9a59bdf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/a70a4c1c138deba1f3c5e3764b29d836c3870d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/a7c378f9660c47a7e8d11895f7098999b47f5a b/src/test/resources/_git_of_git_commit_id/objects/b2/a7c378f9660c47a7e8d11895f7098999b47f5a new file mode 100644 index 0000000..c349db6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/a7c378f9660c47a7e8d11895f7098999b47f5a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/b4da10d499b869fbe4081839fa7c9b85f0b5db b/src/test/resources/_git_of_git_commit_id/objects/b2/b4da10d499b869fbe4081839fa7c9b85f0b5db new file mode 100644 index 0000000..986bd40 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/b4da10d499b869fbe4081839fa7c9b85f0b5db differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/ce5389733f32032f3ac60f386457c7af1390eb b/src/test/resources/_git_of_git_commit_id/objects/b2/ce5389733f32032f3ac60f386457c7af1390eb new file mode 100644 index 0000000..205fd84 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/ce5389733f32032f3ac60f386457c7af1390eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b2/d58d464a06f173aa48331eb92ddf33e4730c02 b/src/test/resources/_git_of_git_commit_id/objects/b2/d58d464a06f173aa48331eb92ddf33e4730c02 new file mode 100644 index 0000000..515eafb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b2/d58d464a06f173aa48331eb92ddf33e4730c02 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/227cd953ebe269bd3e53feb2d1e2d80e6f29ec b/src/test/resources/_git_of_git_commit_id/objects/b3/227cd953ebe269bd3e53feb2d1e2d80e6f29ec new file mode 100644 index 0000000..4504cac Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/227cd953ebe269bd3e53feb2d1e2d80e6f29ec differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/46aab4b0d94f1dd2db1e53a76a6a4c709d2140 b/src/test/resources/_git_of_git_commit_id/objects/b3/46aab4b0d94f1dd2db1e53a76a6a4c709d2140 new file mode 100644 index 0000000..9d0da55 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/46aab4b0d94f1dd2db1e53a76a6a4c709d2140 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/533eaf54736a7dfcc8da9534e0e0ea3b005794 b/src/test/resources/_git_of_git_commit_id/objects/b3/533eaf54736a7dfcc8da9534e0e0ea3b005794 new file mode 100644 index 0000000..777985b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/533eaf54736a7dfcc8da9534e0e0ea3b005794 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/589c9b1a39b7effeb87b367b6ec3cdf6651b51 b/src/test/resources/_git_of_git_commit_id/objects/b3/589c9b1a39b7effeb87b367b6ec3cdf6651b51 new file mode 100644 index 0000000..6572486 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/589c9b1a39b7effeb87b367b6ec3cdf6651b51 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/88d5095262bb82e9431a2e0877ed62ff4defd5 b/src/test/resources/_git_of_git_commit_id/objects/b3/88d5095262bb82e9431a2e0877ed62ff4defd5 new file mode 100644 index 0000000..cda56a9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/88d5095262bb82e9431a2e0877ed62ff4defd5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/ab0ba76de800955a4498d510531c3d56e3776d b/src/test/resources/_git_of_git_commit_id/objects/b3/ab0ba76de800955a4498d510531c3d56e3776d new file mode 100644 index 0000000..37c7067 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/ab0ba76de800955a4498d510531c3d56e3776d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b3/d0f3f5fbf985a4fbae4e3402eb16cb2e9f69ea b/src/test/resources/_git_of_git_commit_id/objects/b3/d0f3f5fbf985a4fbae4e3402eb16cb2e9f69ea new file mode 100644 index 0000000..66beb60 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b3/d0f3f5fbf985a4fbae4e3402eb16cb2e9f69ea differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/3009f976bf439317de157bd8bbfcf4a4d66f94 b/src/test/resources/_git_of_git_commit_id/objects/b4/3009f976bf439317de157bd8bbfcf4a4d66f94 new file mode 100644 index 0000000..25e7de1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b4/3009f976bf439317de157bd8bbfcf4a4d66f94 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/30a4e5a63ecf7d8341602f0a0af5ce3ee798af b/src/test/resources/_git_of_git_commit_id/objects/b4/30a4e5a63ecf7d8341602f0a0af5ce3ee798af new file mode 100644 index 0000000..ad3482a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b4/30a4e5a63ecf7d8341602f0a0af5ce3ee798af differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/4a6b3c1dd8031b5f7f11d9ee283a87ccebf81c b/src/test/resources/_git_of_git_commit_id/objects/b4/4a6b3c1dd8031b5f7f11d9ee283a87ccebf81c new file mode 100644 index 0000000..bbf99be Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b4/4a6b3c1dd8031b5f7f11d9ee283a87ccebf81c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/5bc80fecc13cd4f1fcc59d9548254e62cd2d9d b/src/test/resources/_git_of_git_commit_id/objects/b4/5bc80fecc13cd4f1fcc59d9548254e62cd2d9d new file mode 100644 index 0000000..6850403 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b4/5bc80fecc13cd4f1fcc59d9548254e62cd2d9d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/c925845402d0f354e8812020a4380fa4b961de b/src/test/resources/_git_of_git_commit_id/objects/b4/c925845402d0f354e8812020a4380fa4b961de new file mode 100644 index 0000000..652f487 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b4/c925845402d0f354e8812020a4380fa4b961de @@ -0,0 +1 @@ +x=N1ajb(+xmB'@1,qQn@Ou;P OB\R)c86lQrӭP\v=-H.QG&φkopڷxy*P@G)EF{dWvl(_X}@m 7/H] \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/cee739501ef93ffbd1bb3e72016a12d3b98763 b/src/test/resources/_git_of_git_commit_id/objects/b4/cee739501ef93ffbd1bb3e72016a12d3b98763 new file mode 100644 index 0000000..a31c33e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b4/cee739501ef93ffbd1bb3e72016a12d3b98763 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b4/dbc49ef13935278b9d58f85b2ce583dcd2d24a b/src/test/resources/_git_of_git_commit_id/objects/b4/dbc49ef13935278b9d58f85b2ce583dcd2d24a new file mode 100644 index 0000000..cac9ebe Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b4/dbc49ef13935278b9d58f85b2ce583dcd2d24a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/4384597ca44fab073a69d2e4b059bf59ff5a75 b/src/test/resources/_git_of_git_commit_id/objects/b5/4384597ca44fab073a69d2e4b059bf59ff5a75 new file mode 100644 index 0000000..caece08 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/4384597ca44fab073a69d2e4b059bf59ff5a75 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/4e54099e7f767a732e73459e1da54513414436 b/src/test/resources/_git_of_git_commit_id/objects/b5/4e54099e7f767a732e73459e1da54513414436 new file mode 100644 index 0000000..f66b8a4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/4e54099e7f767a732e73459e1da54513414436 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/58235fa77fbc9e56902bc61148d32e42a70755 b/src/test/resources/_git_of_git_commit_id/objects/b5/58235fa77fbc9e56902bc61148d32e42a70755 new file mode 100644 index 0000000..af33722 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/58235fa77fbc9e56902bc61148d32e42a70755 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/66b07d6489d35f7a33d4038657019ccc281c3d b/src/test/resources/_git_of_git_commit_id/objects/b5/66b07d6489d35f7a33d4038657019ccc281c3d new file mode 100644 index 0000000..2a9f13d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/66b07d6489d35f7a33d4038657019ccc281c3d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/8d1184a9d43a39c0d95f32453efc78581877d6 b/src/test/resources/_git_of_git_commit_id/objects/b5/8d1184a9d43a39c0d95f32453efc78581877d6 new file mode 100644 index 0000000..043d9c5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/8d1184a9d43a39c0d95f32453efc78581877d6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/9ca0e25ecfe1532cd618c72364da07872ba0d0 b/src/test/resources/_git_of_git_commit_id/objects/b5/9ca0e25ecfe1532cd618c72364da07872ba0d0 new file mode 100644 index 0000000..48f77ea Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/9ca0e25ecfe1532cd618c72364da07872ba0d0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b5/9f6832cd490d19837913ca152fe8b8d5515a77 b/src/test/resources/_git_of_git_commit_id/objects/b5/9f6832cd490d19837913ca152fe8b8d5515a77 new file mode 100644 index 0000000..12da1cf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b5/9f6832cd490d19837913ca152fe8b8d5515a77 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b6/1f09115e38e628059d4160b205ae8805dd9556 b/src/test/resources/_git_of_git_commit_id/objects/b6/1f09115e38e628059d4160b205ae8805dd9556 new file mode 100644 index 0000000..b8a33f9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b6/1f09115e38e628059d4160b205ae8805dd9556 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b6/46389e690cf71fd75c83c2aa8949d6e550db49 b/src/test/resources/_git_of_git_commit_id/objects/b6/46389e690cf71fd75c83c2aa8949d6e550db49 new file mode 100644 index 0000000..896806b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b6/46389e690cf71fd75c83c2aa8949d6e550db49 @@ -0,0 +1,2 @@ +xK1 gShR!C2ӓ8 ,ަ< V̀)v4앺8>KP2E64ȡHY +ZTD|;vXCW^+\ץJL|pzqVqbG1wm[F5͞ ӫS: \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b6/55498385b2afd2e316521285dec01e5092db8b b/src/test/resources/_git_of_git_commit_id/objects/b6/55498385b2afd2e316521285dec01e5092db8b new file mode 100644 index 0000000..e53b55c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b6/55498385b2afd2e316521285dec01e5092db8b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b6/aef7892654018da386da8f1a94f6bd9a9466f4 b/src/test/resources/_git_of_git_commit_id/objects/b6/aef7892654018da386da8f1a94f6bd9a9466f4 new file mode 100644 index 0000000..39569fe Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b6/aef7892654018da386da8f1a94f6bd9a9466f4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b7/454b4a1ff9e73eef644294f7db5b0dcf8e984e b/src/test/resources/_git_of_git_commit_id/objects/b7/454b4a1ff9e73eef644294f7db5b0dcf8e984e new file mode 100644 index 0000000..abbc2d7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b7/454b4a1ff9e73eef644294f7db5b0dcf8e984e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b7/83a5a4f095715b81b27f4253d3d12a69fce538 b/src/test/resources/_git_of_git_commit_id/objects/b7/83a5a4f095715b81b27f4253d3d12a69fce538 new file mode 100644 index 0000000..3e89d76 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b7/83a5a4f095715b81b27f4253d3d12a69fce538 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b7/864e6d6d05a49f3f734bf70c97257989c24a81 b/src/test/resources/_git_of_git_commit_id/objects/b7/864e6d6d05a49f3f734bf70c97257989c24a81 new file mode 100644 index 0000000..08faec3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b7/864e6d6d05a49f3f734bf70c97257989c24a81 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/06407dc2442bcbe63b0b1b4d414f553648ade6 b/src/test/resources/_git_of_git_commit_id/objects/b8/06407dc2442bcbe63b0b1b4d414f553648ade6 new file mode 100644 index 0000000..8ac26ed --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b8/06407dc2442bcbe63b0b1b4d414f553648ade6 @@ -0,0 +1 @@ +xMj0F),X }!F҈%#+5!'-R[y E8"DbSlN-hGd6RP;(WADOj ߼cp=y}ϭ_Iø|qx9N][Uz4Is="\\3t)F:'Y \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/2fac0623a6e19ecd9d0ac93dfd7f66bcba98e5 b/src/test/resources/_git_of_git_commit_id/objects/b8/2fac0623a6e19ecd9d0ac93dfd7f66bcba98e5 new file mode 100644 index 0000000..e6d7011 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b8/2fac0623a6e19ecd9d0ac93dfd7f66bcba98e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/6d1ec832db4adbc541563b21503153b9f3fbd9 b/src/test/resources/_git_of_git_commit_id/objects/b8/6d1ec832db4adbc541563b21503153b9f3fbd9 new file mode 100644 index 0000000..c2a813e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b8/6d1ec832db4adbc541563b21503153b9f3fbd9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/7238b4c4f94c9aca48a1db3597a4d1f3fa1c6c b/src/test/resources/_git_of_git_commit_id/objects/b8/7238b4c4f94c9aca48a1db3597a4d1f3fa1c6c new file mode 100644 index 0000000..0ce0622 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b8/7238b4c4f94c9aca48a1db3597a4d1f3fa1c6c @@ -0,0 +1 @@ +x+)JMU03c040031Q0NLI2LK6070LIM34L2KNJMIK44JK53N61I3`"-ҧ/|uLKzrl \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/b2815a9e5a8a7e691e1d23179b47d74cb8ba44 b/src/test/resources/_git_of_git_commit_id/objects/b8/b2815a9e5a8a7e691e1d23179b47d74cb8ba44 new file mode 100644 index 0000000..680770b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b8/b2815a9e5a8a7e691e1d23179b47d74cb8ba44 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/befbfe78a08105683e1f689b0ca35a8200a9ed b/src/test/resources/_git_of_git_commit_id/objects/b8/befbfe78a08105683e1f689b0ca35a8200a9ed new file mode 100644 index 0000000..c6a13e9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b8/befbfe78a08105683e1f689b0ca35a8200a9ed differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/d4499b74cd3f4cd4f8be2c3a9ff7f83b9c0c24 b/src/test/resources/_git_of_git_commit_id/objects/b8/d4499b74cd3f4cd4f8be2c3a9ff7f83b9c0c24 new file mode 100644 index 0000000..e8b3751 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b8/d4499b74cd3f4cd4f8be2c3a9ff7f83b9c0c24 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b8/ed7f284856b44e1f2a04da6f0ed3e08b483bdd b/src/test/resources/_git_of_git_commit_id/objects/b8/ed7f284856b44e1f2a04da6f0ed3e08b483bdd new file mode 100644 index 0000000..793252f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b8/ed7f284856b44e1f2a04da6f0ed3e08b483bdd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/16b5d8160bd9f7b80cea6a6c26c2fbdd3f8787 b/src/test/resources/_git_of_git_commit_id/objects/b9/16b5d8160bd9f7b80cea6a6c26c2fbdd3f8787 new file mode 100644 index 0000000..a24842b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/16b5d8160bd9f7b80cea6a6c26c2fbdd3f8787 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/594f2674e55d1a0f5f8db8b32cd9fa88ba99d3 b/src/test/resources/_git_of_git_commit_id/objects/b9/594f2674e55d1a0f5f8db8b32cd9fa88ba99d3 new file mode 100644 index 0000000..b69364d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/594f2674e55d1a0f5f8db8b32cd9fa88ba99d3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/6fbdb779fcb29a758d63b7ff2cfd1199935b2c b/src/test/resources/_git_of_git_commit_id/objects/b9/6fbdb779fcb29a758d63b7ff2cfd1199935b2c new file mode 100644 index 0000000..1a29a6a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/6fbdb779fcb29a758d63b7ff2cfd1199935b2c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/9b5403877d6d1165a267040cc035ed37a0fd36 b/src/test/resources/_git_of_git_commit_id/objects/b9/9b5403877d6d1165a267040cc035ed37a0fd36 new file mode 100644 index 0000000..f245286 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/9b5403877d6d1165a267040cc035ed37a0fd36 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/b417482d45d60b2f817b96fc48374bf8e21efd b/src/test/resources/_git_of_git_commit_id/objects/b9/b417482d45d60b2f817b96fc48374bf8e21efd new file mode 100644 index 0000000..0af25da Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/b417482d45d60b2f817b96fc48374bf8e21efd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/ddf42b58a75e597142468898b598a680802106 b/src/test/resources/_git_of_git_commit_id/objects/b9/ddf42b58a75e597142468898b598a680802106 new file mode 100644 index 0000000..5a87274 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/ddf42b58a75e597142468898b598a680802106 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/e75dbadcbf6998229e77b5dea5a29c9afcd575 b/src/test/resources/_git_of_git_commit_id/objects/b9/e75dbadcbf6998229e77b5dea5a29c9afcd575 new file mode 100644 index 0000000..6f76517 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/b9/e75dbadcbf6998229e77b5dea5a29c9afcd575 @@ -0,0 +1 @@ +xQAj0zQ?L1E$Y}VڦhBjfgux|iz$P2 _%?o*bF q``!Q1R*g0CeD:uHN峜9v}}a Rɸꢸd"F76{SM[$s{ Sy ?i+ZECͻp_is:K\ٕO<p \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/b9/ed62dd144b83bd13795cd19b64c754028a3b12 b/src/test/resources/_git_of_git_commit_id/objects/b9/ed62dd144b83bd13795cd19b64c754028a3b12 new file mode 100644 index 0000000..cec21a3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/b9/ed62dd144b83bd13795cd19b64c754028a3b12 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ba/13a49be0ae8e5388273e65c6fac85a3b786ca0 b/src/test/resources/_git_of_git_commit_id/objects/ba/13a49be0ae8e5388273e65c6fac85a3b786ca0 new file mode 100644 index 0000000..023f269 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ba/13a49be0ae8e5388273e65c6fac85a3b786ca0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ba/346904c778d2478162959f3c576b9650fa3f62 b/src/test/resources/_git_of_git_commit_id/objects/ba/346904c778d2478162959f3c576b9650fa3f62 new file mode 100644 index 0000000..ef3b6cb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ba/346904c778d2478162959f3c576b9650fa3f62 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ba/389c679deb759470fd1c281e0cf8173b460814 b/src/test/resources/_git_of_git_commit_id/objects/ba/389c679deb759470fd1c281e0cf8173b460814 new file mode 100644 index 0000000..4eae079 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ba/389c679deb759470fd1c281e0cf8173b460814 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ba/6d629d0412ac3553010a8682d50ef7d17dce92 b/src/test/resources/_git_of_git_commit_id/objects/ba/6d629d0412ac3553010a8682d50ef7d17dce92 new file mode 100644 index 0000000..d3b17f0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ba/6d629d0412ac3553010a8682d50ef7d17dce92 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ba/7d56c873af4a6a90d29e678606a508b8d25fa6 b/src/test/resources/_git_of_git_commit_id/objects/ba/7d56c873af4a6a90d29e678606a508b8d25fa6 new file mode 100644 index 0000000..1b048cf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ba/7d56c873af4a6a90d29e678606a508b8d25fa6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/24ca9bacb5c3b08ab2c61808f0bd8c4f4f10ed b/src/test/resources/_git_of_git_commit_id/objects/bb/24ca9bacb5c3b08ab2c61808f0bd8c4f4f10ed new file mode 100644 index 0000000..5d0b2cf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/24ca9bacb5c3b08ab2c61808f0bd8c4f4f10ed differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/6c162e0e076fa32a9eb9729896d0f33f596fb9 b/src/test/resources/_git_of_git_commit_id/objects/bb/6c162e0e076fa32a9eb9729896d0f33f596fb9 new file mode 100644 index 0000000..e87c1f7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/6c162e0e076fa32a9eb9729896d0f33f596fb9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/6c8a7efcefb8cefbd05a159ea9d96439e7f453 b/src/test/resources/_git_of_git_commit_id/objects/bb/6c8a7efcefb8cefbd05a159ea9d96439e7f453 new file mode 100644 index 0000000..249066b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/6c8a7efcefb8cefbd05a159ea9d96439e7f453 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/ad5ebbdd96c911afa6866a2ee86ccead1aaaa4 b/src/test/resources/_git_of_git_commit_id/objects/bb/ad5ebbdd96c911afa6866a2ee86ccead1aaaa4 new file mode 100644 index 0000000..c14581d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/ad5ebbdd96c911afa6866a2ee86ccead1aaaa4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/c4388b44e093ff7eff2e7ec828177436af00ab b/src/test/resources/_git_of_git_commit_id/objects/bb/c4388b44e093ff7eff2e7ec828177436af00ab new file mode 100644 index 0000000..57d2e8b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/c4388b44e093ff7eff2e7ec828177436af00ab differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/cf9e8c374bb516889b18b7c8eb13b88b8b659a b/src/test/resources/_git_of_git_commit_id/objects/bb/cf9e8c374bb516889b18b7c8eb13b88b8b659a new file mode 100644 index 0000000..d681202 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/cf9e8c374bb516889b18b7c8eb13b88b8b659a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bb/e98b05bd37fa21d482d4fc6d2477863f62378a b/src/test/resources/_git_of_git_commit_id/objects/bb/e98b05bd37fa21d482d4fc6d2477863f62378a new file mode 100644 index 0000000..02bf030 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bb/e98b05bd37fa21d482d4fc6d2477863f62378a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/39961a3c1bdc4ec31219018c52944b5ab2ee09 b/src/test/resources/_git_of_git_commit_id/objects/bc/39961a3c1bdc4ec31219018c52944b5ab2ee09 new file mode 100644 index 0000000..35fef56 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/39961a3c1bdc4ec31219018c52944b5ab2ee09 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/6a260328413f6c7a8db03c95113e55091d8a87 b/src/test/resources/_git_of_git_commit_id/objects/bc/6a260328413f6c7a8db03c95113e55091d8a87 new file mode 100644 index 0000000..cc3c8dc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/6a260328413f6c7a8db03c95113e55091d8a87 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/8b7ca6c7704b347efc41a5736982fe92b1c2e6 b/src/test/resources/_git_of_git_commit_id/objects/bc/8b7ca6c7704b347efc41a5736982fe92b1c2e6 new file mode 100644 index 0000000..1f6df38 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/8b7ca6c7704b347efc41a5736982fe92b1c2e6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/bb66e65a89b2bf59a83a38f72cb4315fdb45e0 b/src/test/resources/_git_of_git_commit_id/objects/bc/bb66e65a89b2bf59a83a38f72cb4315fdb45e0 new file mode 100644 index 0000000..0c4f24f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/bb66e65a89b2bf59a83a38f72cb4315fdb45e0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/bca9d596f9499633235fcbe97047a3d06a2be2 b/src/test/resources/_git_of_git_commit_id/objects/bc/bca9d596f9499633235fcbe97047a3d06a2be2 new file mode 100644 index 0000000..bb6c162 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/bca9d596f9499633235fcbe97047a3d06a2be2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/d54e01560482d39ac011209136c6b48550c9eb b/src/test/resources/_git_of_git_commit_id/objects/bc/d54e01560482d39ac011209136c6b48550c9eb new file mode 100644 index 0000000..6dcfca6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/d54e01560482d39ac011209136c6b48550c9eb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/dc09d1ea381531f48e33476efe20ec96540f2d b/src/test/resources/_git_of_git_commit_id/objects/bc/dc09d1ea381531f48e33476efe20ec96540f2d new file mode 100644 index 0000000..c02842d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/dc09d1ea381531f48e33476efe20ec96540f2d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bc/f5a118d87b16d584f4a0623a8ebd3411767e69 b/src/test/resources/_git_of_git_commit_id/objects/bc/f5a118d87b16d584f4a0623a8ebd3411767e69 new file mode 100644 index 0000000..cfb76ef Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bc/f5a118d87b16d584f4a0623a8ebd3411767e69 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bd/47b8a3875f76d303d6268cb44167d06d8f99a5 b/src/test/resources/_git_of_git_commit_id/objects/bd/47b8a3875f76d303d6268cb44167d06d8f99a5 new file mode 100644 index 0000000..02ed464 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bd/47b8a3875f76d303d6268cb44167d06d8f99a5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bd/5328a463ef29ec2bd6a7ecf8e51af61a9882ab b/src/test/resources/_git_of_git_commit_id/objects/bd/5328a463ef29ec2bd6a7ecf8e51af61a9882ab new file mode 100644 index 0000000..bb24ca9 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/bd/5328a463ef29ec2bd6a7ecf8e51af61a9882ab @@ -0,0 +1 @@ +xM0a< M;1O`\uJKR1h\;KԀ=&@VF*4)TWe [$c , 뇡MYZ?fRl8ɏp^S¾11D?XTTZV*)2cg8i+bX<. \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/bd/7c95ed85b4235b5a01488713af16f5fcf55647 b/src/test/resources/_git_of_git_commit_id/objects/bd/7c95ed85b4235b5a01488713af16f5fcf55647 new file mode 100644 index 0000000..7d29aa4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bd/7c95ed85b4235b5a01488713af16f5fcf55647 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bd/88078d29d4bf97efb038f0c65750b53c276fa1 b/src/test/resources/_git_of_git_commit_id/objects/bd/88078d29d4bf97efb038f0c65750b53c276fa1 new file mode 100644 index 0000000..060498b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bd/88078d29d4bf97efb038f0c65750b53c276fa1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bd/d7502f2d99a8feca0450445d424cbac681d15f b/src/test/resources/_git_of_git_commit_id/objects/bd/d7502f2d99a8feca0450445d424cbac681d15f new file mode 100644 index 0000000..ec8d25b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bd/d7502f2d99a8feca0450445d424cbac681d15f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bd/d9180c4d1dbd2e7c63fc638fbb19b6310251a0 b/src/test/resources/_git_of_git_commit_id/objects/bd/d9180c4d1dbd2e7c63fc638fbb19b6310251a0 new file mode 100644 index 0000000..fbb9ca2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bd/d9180c4d1dbd2e7c63fc638fbb19b6310251a0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/18b152951be2a851719290cd4a62ce5c51baeb b/src/test/resources/_git_of_git_commit_id/objects/be/18b152951be2a851719290cd4a62ce5c51baeb new file mode 100644 index 0000000..b833db0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/18b152951be2a851719290cd4a62ce5c51baeb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/6a741d94979605394b279adfab7755b8298eab b/src/test/resources/_git_of_git_commit_id/objects/be/6a741d94979605394b279adfab7755b8298eab new file mode 100644 index 0000000..52d7093 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/6a741d94979605394b279adfab7755b8298eab differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/895fd0439b062a8b8498ad6c7ab9e215602989 b/src/test/resources/_git_of_git_commit_id/objects/be/895fd0439b062a8b8498ad6c7ab9e215602989 new file mode 100644 index 0000000..474d0cb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/895fd0439b062a8b8498ad6c7ab9e215602989 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/b3248a82badf5c5969f52fdb5dd56f123a8d57 b/src/test/resources/_git_of_git_commit_id/objects/be/b3248a82badf5c5969f52fdb5dd56f123a8d57 new file mode 100644 index 0000000..cb551e1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/b3248a82badf5c5969f52fdb5dd56f123a8d57 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/bd1008833c0038251696483b2bbb62ee6ea0f0 b/src/test/resources/_git_of_git_commit_id/objects/be/bd1008833c0038251696483b2bbb62ee6ea0f0 new file mode 100644 index 0000000..0a547cf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/bd1008833c0038251696483b2bbb62ee6ea0f0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/dc4d3b3aed9017e88d1c205260c09f820370f7 b/src/test/resources/_git_of_git_commit_id/objects/be/dc4d3b3aed9017e88d1c205260c09f820370f7 new file mode 100644 index 0000000..45b296f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/dc4d3b3aed9017e88d1c205260c09f820370f7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/be/f47a0ab315d99b72cbd6971f416b18bda316a1 b/src/test/resources/_git_of_git_commit_id/objects/be/f47a0ab315d99b72cbd6971f416b18bda316a1 new file mode 100644 index 0000000..9dc413d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/be/f47a0ab315d99b72cbd6971f416b18bda316a1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bf/0b3bfe966a7f9dc5919ea2db069b6f7bd2b8ed b/src/test/resources/_git_of_git_commit_id/objects/bf/0b3bfe966a7f9dc5919ea2db069b6f7bd2b8ed new file mode 100644 index 0000000..b2a7c37 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bf/0b3bfe966a7f9dc5919ea2db069b6f7bd2b8ed differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bf/58729d52559102015a574048aef22bcf79a6d4 b/src/test/resources/_git_of_git_commit_id/objects/bf/58729d52559102015a574048aef22bcf79a6d4 new file mode 100644 index 0000000..bc90059 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bf/58729d52559102015a574048aef22bcf79a6d4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bf/7252890cd5ad91cc0fce3a9719ed75e0ce58b8 b/src/test/resources/_git_of_git_commit_id/objects/bf/7252890cd5ad91cc0fce3a9719ed75e0ce58b8 new file mode 100644 index 0000000..00c6e9e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bf/7252890cd5ad91cc0fce3a9719ed75e0ce58b8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bf/c3360881c83ba60a16395fb914244646a88ac5 b/src/test/resources/_git_of_git_commit_id/objects/bf/c3360881c83ba60a16395fb914244646a88ac5 new file mode 100644 index 0000000..01c9ff3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bf/c3360881c83ba60a16395fb914244646a88ac5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bf/d0729a2c2735a19e639c1a969880104e9c16a5 b/src/test/resources/_git_of_git_commit_id/objects/bf/d0729a2c2735a19e639c1a969880104e9c16a5 new file mode 100644 index 0000000..4b05986 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bf/d0729a2c2735a19e639c1a969880104e9c16a5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/bf/ee13d9f3a88ffb7def9d0b432a69aaee3881dd b/src/test/resources/_git_of_git_commit_id/objects/bf/ee13d9f3a88ffb7def9d0b432a69aaee3881dd new file mode 100644 index 0000000..8c7578d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/bf/ee13d9f3a88ffb7def9d0b432a69aaee3881dd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c0/2842d022305249051b29e69a9d924b2cb010a4 b/src/test/resources/_git_of_git_commit_id/objects/c0/2842d022305249051b29e69a9d924b2cb010a4 new file mode 100644 index 0000000..7666524 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c0/2842d022305249051b29e69a9d924b2cb010a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c0/bba8a4df79610837a6d53d6dc18a6c6ce8a95c b/src/test/resources/_git_of_git_commit_id/objects/c0/bba8a4df79610837a6d53d6dc18a6c6ce8a95c new file mode 100644 index 0000000..7ff955a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c0/bba8a4df79610837a6d53d6dc18a6c6ce8a95c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c0/d336a2897326a841b627d39ec52deaa2e50655 b/src/test/resources/_git_of_git_commit_id/objects/c0/d336a2897326a841b627d39ec52deaa2e50655 new file mode 100644 index 0000000..9e29538 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c0/d336a2897326a841b627d39ec52deaa2e50655 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c1/33b53eac219b2cacac0e68245adcc24abe5d34 b/src/test/resources/_git_of_git_commit_id/objects/c1/33b53eac219b2cacac0e68245adcc24abe5d34 new file mode 100644 index 0000000..b27554e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c1/33b53eac219b2cacac0e68245adcc24abe5d34 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c1/5fde398343aee8458d021141e8e023a3b9f50e b/src/test/resources/_git_of_git_commit_id/objects/c1/5fde398343aee8458d021141e8e023a3b9f50e new file mode 100644 index 0000000..6100ac2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c1/5fde398343aee8458d021141e8e023a3b9f50e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c1/77c4bfd3921ffa405b8ffec34d29a4837fef69 b/src/test/resources/_git_of_git_commit_id/objects/c1/77c4bfd3921ffa405b8ffec34d29a4837fef69 new file mode 100644 index 0000000..7b04f6d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c1/77c4bfd3921ffa405b8ffec34d29a4837fef69 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c1/9c328689ee09dc74562b2fcf9ef26e5c148006 b/src/test/resources/_git_of_git_commit_id/objects/c1/9c328689ee09dc74562b2fcf9ef26e5c148006 new file mode 100644 index 0000000..aa0412a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c1/9c328689ee09dc74562b2fcf9ef26e5c148006 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c1/e17b2877c98c532965b81a584c5e81b6e7c12c b/src/test/resources/_git_of_git_commit_id/objects/c1/e17b2877c98c532965b81a584c5e81b6e7c12c new file mode 100644 index 0000000..437c2ab Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c1/e17b2877c98c532965b81a584c5e81b6e7c12c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c2/1adc52c89db7fac932e5a5a02ca32dd3678e38 b/src/test/resources/_git_of_git_commit_id/objects/c2/1adc52c89db7fac932e5a5a02ca32dd3678e38 new file mode 100644 index 0000000..cc7327c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c2/1adc52c89db7fac932e5a5a02ca32dd3678e38 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c2/a813e9b859612f1f28ea6fcbff5b159e373110 b/src/test/resources/_git_of_git_commit_id/objects/c2/a813e9b859612f1f28ea6fcbff5b159e373110 new file mode 100644 index 0000000..a5392aa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c2/a813e9b859612f1f28ea6fcbff5b159e373110 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c2/da739794bd37a21f0756c3ad8323deb040cfc0 b/src/test/resources/_git_of_git_commit_id/objects/c2/da739794bd37a21f0756c3ad8323deb040cfc0 new file mode 100644 index 0000000..a96e43f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c2/da739794bd37a21f0756c3ad8323deb040cfc0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c3/28211fb72e5d3a8c49326c530212bf268d2e49 b/src/test/resources/_git_of_git_commit_id/objects/c3/28211fb72e5d3a8c49326c530212bf268d2e49 new file mode 100644 index 0000000..003e60a --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/c3/28211fb72e5d3a8c49326c530212bf268d2e49 @@ -0,0 +1,2 @@ +xKn1Eь#Z_)2GYʠ.!GA\e:zceLq$MV/ƌ(*5^; )Xώ E7ȔsaD% a[e. '|ֶr +:BmFI%H_/B7^g |=M7pӃv\ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/c3/429b749972a9dcf4d01e456b21cbe0832877bd b/src/test/resources/_git_of_git_commit_id/objects/c3/429b749972a9dcf4d01e456b21cbe0832877bd new file mode 100644 index 0000000..11f38bc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c3/429b749972a9dcf4d01e456b21cbe0832877bd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c3/de8b7b0be20a092d61e292218eb7920c97d81b b/src/test/resources/_git_of_git_commit_id/objects/c3/de8b7b0be20a092d61e292218eb7920c97d81b new file mode 100644 index 0000000..ea51913 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c3/de8b7b0be20a092d61e292218eb7920c97d81b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c3/eb80ba0b8958521fa2ececc36761d4d2fe7799 b/src/test/resources/_git_of_git_commit_id/objects/c3/eb80ba0b8958521fa2ececc36761d4d2fe7799 new file mode 100644 index 0000000..8cb3a84 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c3/eb80ba0b8958521fa2ececc36761d4d2fe7799 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/13c1814d770c65b4f021bacdbded37da307bed b/src/test/resources/_git_of_git_commit_id/objects/c4/13c1814d770c65b4f021bacdbded37da307bed new file mode 100644 index 0000000..e0c7e18 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/13c1814d770c65b4f021bacdbded37da307bed differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/3e545990120840b71f8ded54521a0e76745e94 b/src/test/resources/_git_of_git_commit_id/objects/c4/3e545990120840b71f8ded54521a0e76745e94 new file mode 100644 index 0000000..abe50aa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/3e545990120840b71f8ded54521a0e76745e94 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/43f64974aadb3f6025c349038399ea3c324b3a b/src/test/resources/_git_of_git_commit_id/objects/c4/43f64974aadb3f6025c349038399ea3c324b3a new file mode 100644 index 0000000..b2b4da1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/43f64974aadb3f6025c349038399ea3c324b3a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/44c5bf965d02c70356137ae1acd7b981915114 b/src/test/resources/_git_of_git_commit_id/objects/c4/44c5bf965d02c70356137ae1acd7b981915114 new file mode 100644 index 0000000..4c6f20a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/44c5bf965d02c70356137ae1acd7b981915114 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/654296932bc6037d883754a76ed5ff740c3ed7 b/src/test/resources/_git_of_git_commit_id/objects/c4/654296932bc6037d883754a76ed5ff740c3ed7 new file mode 100644 index 0000000..7bb7363 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/654296932bc6037d883754a76ed5ff740c3ed7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/92f51cd1e4ec0cf94b4800427e69c942f1f4ef b/src/test/resources/_git_of_git_commit_id/objects/c4/92f51cd1e4ec0cf94b4800427e69c942f1f4ef new file mode 100644 index 0000000..2045704 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/92f51cd1e4ec0cf94b4800427e69c942f1f4ef differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/97a44754dd1c4b90dbaf186c5e41c4b40007e5 b/src/test/resources/_git_of_git_commit_id/objects/c4/97a44754dd1c4b90dbaf186c5e41c4b40007e5 new file mode 100644 index 0000000..d1842cc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/97a44754dd1c4b90dbaf186c5e41c4b40007e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c4/dc59f870380b7b3c887aa55fbaec0b9b2657bc b/src/test/resources/_git_of_git_commit_id/objects/c4/dc59f870380b7b3c887aa55fbaec0b9b2657bc new file mode 100644 index 0000000..69c8c0d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c4/dc59f870380b7b3c887aa55fbaec0b9b2657bc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c5/4e7ea28ef3d751a92af8f4d9fe5add26c468be b/src/test/resources/_git_of_git_commit_id/objects/c5/4e7ea28ef3d751a92af8f4d9fe5add26c468be new file mode 100644 index 0000000..6837c55 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c5/4e7ea28ef3d751a92af8f4d9fe5add26c468be differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c5/78470f1c1fbd34ca9fc59e27d430a710bc844d b/src/test/resources/_git_of_git_commit_id/objects/c5/78470f1c1fbd34ca9fc59e27d430a710bc844d new file mode 100644 index 0000000..eb3d46e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c5/78470f1c1fbd34ca9fc59e27d430a710bc844d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c5/e499834937061762b9905c97b3f4361b4cfa49 b/src/test/resources/_git_of_git_commit_id/objects/c5/e499834937061762b9905c97b3f4361b4cfa49 new file mode 100644 index 0000000..8199766 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c5/e499834937061762b9905c97b3f4361b4cfa49 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c5/f9938621ef8314861df4dddd069be9ed1de890 b/src/test/resources/_git_of_git_commit_id/objects/c5/f9938621ef8314861df4dddd069be9ed1de890 new file mode 100644 index 0000000..77df8db Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c5/f9938621ef8314861df4dddd069be9ed1de890 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c6/1bfc2dc1b3d3515220f123d6258e4a1f6de95a b/src/test/resources/_git_of_git_commit_id/objects/c6/1bfc2dc1b3d3515220f123d6258e4a1f6de95a new file mode 100644 index 0000000..b59ca0e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c6/1bfc2dc1b3d3515220f123d6258e4a1f6de95a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c6/8a81566904d85c887285557db7bce219860bd9 b/src/test/resources/_git_of_git_commit_id/objects/c6/8a81566904d85c887285557db7bce219860bd9 new file mode 100644 index 0000000..5026e76 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c6/8a81566904d85c887285557db7bce219860bd9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c6/a2d9430b3e127819f0deffc96f3cb6d40bf892 b/src/test/resources/_git_of_git_commit_id/objects/c6/a2d9430b3e127819f0deffc96f3cb6d40bf892 new file mode 100644 index 0000000..23504cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c6/a2d9430b3e127819f0deffc96f3cb6d40bf892 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c6/c92b8399b39662f640c32352e55bfa1c0f4b92 b/src/test/resources/_git_of_git_commit_id/objects/c6/c92b8399b39662f640c32352e55bfa1c0f4b92 new file mode 100644 index 0000000..05a690f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c6/c92b8399b39662f640c32352e55bfa1c0f4b92 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c6/df19dc89bfc80e80020ba816fdc3416a9e3c3c b/src/test/resources/_git_of_git_commit_id/objects/c6/df19dc89bfc80e80020ba816fdc3416a9e3c3c new file mode 100644 index 0000000..06157e4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c6/df19dc89bfc80e80020ba816fdc3416a9e3c3c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c6/f6aceceaefbb384b63be2c8d8e3e1568463316 b/src/test/resources/_git_of_git_commit_id/objects/c6/f6aceceaefbb384b63be2c8d8e3e1568463316 new file mode 100644 index 0000000..b4cee73 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c6/f6aceceaefbb384b63be2c8d8e3e1568463316 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c7/0aab67a5ebab09995a1e0b738962c906b63b9f b/src/test/resources/_git_of_git_commit_id/objects/c7/0aab67a5ebab09995a1e0b738962c906b63b9f new file mode 100644 index 0000000..4badb5f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c7/0aab67a5ebab09995a1e0b738962c906b63b9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c7/40025563f2bc01b7d072f88c12517aa6cc6317 b/src/test/resources/_git_of_git_commit_id/objects/c7/40025563f2bc01b7d072f88c12517aa6cc6317 new file mode 100644 index 0000000..e5dc064 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c7/40025563f2bc01b7d072f88c12517aa6cc6317 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c7/4cd687a3310c3a6611d48e7ad0f7fbb4290df8 b/src/test/resources/_git_of_git_commit_id/objects/c7/4cd687a3310c3a6611d48e7ad0f7fbb4290df8 new file mode 100644 index 0000000..e9da85d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c7/4cd687a3310c3a6611d48e7ad0f7fbb4290df8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c7/538c513fa2ccab2eeb21e097e58059b2fe43bb b/src/test/resources/_git_of_git_commit_id/objects/c7/538c513fa2ccab2eeb21e097e58059b2fe43bb new file mode 100644 index 0000000..714746f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c7/538c513fa2ccab2eeb21e097e58059b2fe43bb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/103eb33ba1a8543d62569d5e9542f2a625d5ae b/src/test/resources/_git_of_git_commit_id/objects/c8/103eb33ba1a8543d62569d5e9542f2a625d5ae new file mode 100644 index 0000000..7adb253 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/103eb33ba1a8543d62569d5e9542f2a625d5ae differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/1ee1b33facaa904a7ee3f338279bbe286cf513 b/src/test/resources/_git_of_git_commit_id/objects/c8/1ee1b33facaa904a7ee3f338279bbe286cf513 new file mode 100644 index 0000000..0d579b7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/1ee1b33facaa904a7ee3f338279bbe286cf513 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/2751427ecb8981cd742a758e1e19f14e044179 b/src/test/resources/_git_of_git_commit_id/objects/c8/2751427ecb8981cd742a758e1e19f14e044179 new file mode 100644 index 0000000..fa3faf8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/2751427ecb8981cd742a758e1e19f14e044179 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/2a8669f5ec949f1174172077a89fc7c8792704 b/src/test/resources/_git_of_git_commit_id/objects/c8/2a8669f5ec949f1174172077a89fc7c8792704 new file mode 100644 index 0000000..3fd435e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/2a8669f5ec949f1174172077a89fc7c8792704 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/4568f6321605d58ead24f9d4dde313c9aead75 b/src/test/resources/_git_of_git_commit_id/objects/c8/4568f6321605d58ead24f9d4dde313c9aead75 new file mode 100644 index 0000000..51e3e32 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/4568f6321605d58ead24f9d4dde313c9aead75 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/6e4131ce0d118c9293b40906a772fc6a5038e8 b/src/test/resources/_git_of_git_commit_id/objects/c8/6e4131ce0d118c9293b40906a772fc6a5038e8 new file mode 100644 index 0000000..6278de7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/6e4131ce0d118c9293b40906a772fc6a5038e8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/86cb74d64ba5548c500042d59083640169c416 b/src/test/resources/_git_of_git_commit_id/objects/c8/86cb74d64ba5548c500042d59083640169c416 new file mode 100644 index 0000000..d581c0d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/86cb74d64ba5548c500042d59083640169c416 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/8b2a15165058d5921a3ffd7cdffe9fd5c73f48 b/src/test/resources/_git_of_git_commit_id/objects/c8/8b2a15165058d5921a3ffd7cdffe9fd5c73f48 new file mode 100644 index 0000000..91fcba9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/8b2a15165058d5921a3ffd7cdffe9fd5c73f48 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/8d093a55ecfac9834c0918da5ff61db78e81c5 b/src/test/resources/_git_of_git_commit_id/objects/c8/8d093a55ecfac9834c0918da5ff61db78e81c5 new file mode 100644 index 0000000..b807a3f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/8d093a55ecfac9834c0918da5ff61db78e81c5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/d46f335e2df05476872f53a17acd8c7feae455 b/src/test/resources/_git_of_git_commit_id/objects/c8/d46f335e2df05476872f53a17acd8c7feae455 new file mode 100644 index 0000000..b1ee9f8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c8/d46f335e2df05476872f53a17acd8c7feae455 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c8/ff632df6d6ab362ec02cc1b20a527f69ca741d b/src/test/resources/_git_of_git_commit_id/objects/c8/ff632df6d6ab362ec02cc1b20a527f69ca741d new file mode 100644 index 0000000..6fe92cf --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/c8/ff632df6d6ab362ec02cc1b20a527f69ca741d @@ -0,0 +1,3 @@ +xK +0a9EB<!)V"x}xemZD4 d8S` Q^$:AҪUwGP"s89D =(!@<*})̅HsЧZp5Ydz6ֻ`U/iC< +۪>pR \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/c9/3357d4594b7e8fdb7725b34243c2a1a3b30d05 b/src/test/resources/_git_of_git_commit_id/objects/c9/3357d4594b7e8fdb7725b34243c2a1a3b30d05 new file mode 100644 index 0000000..0a10405 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c9/3357d4594b7e8fdb7725b34243c2a1a3b30d05 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c9/37370851a7c52aa3bb93c85a466977b7f7844b b/src/test/resources/_git_of_git_commit_id/objects/c9/37370851a7c52aa3bb93c85a466977b7f7844b new file mode 100644 index 0000000..2b1080a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c9/37370851a7c52aa3bb93c85a466977b7f7844b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c9/7ad36968aa4454e90f363b83c0587c8c2b8ea9 b/src/test/resources/_git_of_git_commit_id/objects/c9/7ad36968aa4454e90f363b83c0587c8c2b8ea9 new file mode 100644 index 0000000..233950b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c9/7ad36968aa4454e90f363b83c0587c8c2b8ea9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/c9/d315a856d8bcc6c000fbf4ea13204b3555b93c b/src/test/resources/_git_of_git_commit_id/objects/c9/d315a856d8bcc6c000fbf4ea13204b3555b93c new file mode 100644 index 0000000..1d5e637 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/c9/d315a856d8bcc6c000fbf4ea13204b3555b93c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/1d23a467595f473f97d460f178b7d4ae9cb98c b/src/test/resources/_git_of_git_commit_id/objects/ca/1d23a467595f473f97d460f178b7d4ae9cb98c new file mode 100644 index 0000000..876aeaa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ca/1d23a467595f473f97d460f178b7d4ae9cb98c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/2623c21d4cd89b13d452ad33fefe93504c6971 b/src/test/resources/_git_of_git_commit_id/objects/ca/2623c21d4cd89b13d452ad33fefe93504c6971 new file mode 100644 index 0000000..e65e4de Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ca/2623c21d4cd89b13d452ad33fefe93504c6971 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/37b16ad1fcb17e4cc46484771f9263d0593176 b/src/test/resources/_git_of_git_commit_id/objects/ca/37b16ad1fcb17e4cc46484771f9263d0593176 new file mode 100644 index 0000000..01c8c5f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ca/37b16ad1fcb17e4cc46484771f9263d0593176 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/3aaaa0a105e66fb065227e65d7d38ce9a885b8 b/src/test/resources/_git_of_git_commit_id/objects/ca/3aaaa0a105e66fb065227e65d7d38ce9a885b8 new file mode 100644 index 0000000..c32ae56 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ca/3aaaa0a105e66fb065227e65d7d38ce9a885b8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/41c16c45cd33fcc82056a98272cf11658731e7 b/src/test/resources/_git_of_git_commit_id/objects/ca/41c16c45cd33fcc82056a98272cf11658731e7 new file mode 100644 index 0000000..0a49006 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ca/41c16c45cd33fcc82056a98272cf11658731e7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/77c2de57e1ae72add31a7216200288359fccf4 b/src/test/resources/_git_of_git_commit_id/objects/ca/77c2de57e1ae72add31a7216200288359fccf4 new file mode 100644 index 0000000..0a029cf --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/ca/77c2de57e1ae72add31a7216200288359fccf4 @@ -0,0 +1,2 @@ +xJ0S xL>lfm+e'pNWhpU֐1RCbmAFK9LE +JR҅ ;-!Y:-.:ROOasmD.[AՊZG.B {k9pw t<܃nFm7pRMLf/]`^|TF ,yr;Ҳ4#3$ꇷ5?/k.߰ElLt \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/ca/9403db134b9c495e1cbbe3a9ec1d3a45d379b1 b/src/test/resources/_git_of_git_commit_id/objects/ca/9403db134b9c495e1cbbe3a9ec1d3a45d379b1 new file mode 100644 index 0000000..58f664d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ca/9403db134b9c495e1cbbe3a9ec1d3a45d379b1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/089cd89a7d7686d284d8761201649346b5aa1c b/src/test/resources/_git_of_git_commit_id/objects/cb/089cd89a7d7686d284d8761201649346b5aa1c new file mode 100644 index 0000000..17c8d93 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/089cd89a7d7686d284d8761201649346b5aa1c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/4be2900d70374c6958f7e7b960e6b7a88bae91 b/src/test/resources/_git_of_git_commit_id/objects/cb/4be2900d70374c6958f7e7b960e6b7a88bae91 new file mode 100644 index 0000000..7073054 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/4be2900d70374c6958f7e7b960e6b7a88bae91 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/4ca931cdb46baabc879edde7546bdacb876544 b/src/test/resources/_git_of_git_commit_id/objects/cb/4ca931cdb46baabc879edde7546bdacb876544 new file mode 100644 index 0000000..c7d5ccf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/4ca931cdb46baabc879edde7546bdacb876544 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/551e180caa3033b752239135fb0fabe30afd11 b/src/test/resources/_git_of_git_commit_id/objects/cb/551e180caa3033b752239135fb0fabe30afd11 new file mode 100644 index 0000000..d65dbba Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/551e180caa3033b752239135fb0fabe30afd11 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/8d4a9e714c520609c78f0fc1ccf2c617e294e4 b/src/test/resources/_git_of_git_commit_id/objects/cb/8d4a9e714c520609c78f0fc1ccf2c617e294e4 new file mode 100644 index 0000000..ca9403d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/8d4a9e714c520609c78f0fc1ccf2c617e294e4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/95faafcf1aa32d5d4e284b924e09c1a04aaaf6 b/src/test/resources/_git_of_git_commit_id/objects/cb/95faafcf1aa32d5d4e284b924e09c1a04aaaf6 new file mode 100644 index 0000000..a14759e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/95faafcf1aa32d5d4e284b924e09c1a04aaaf6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/99d6e623a8a6446cf2f60c1fa08f040272b786 b/src/test/resources/_git_of_git_commit_id/objects/cb/99d6e623a8a6446cf2f60c1fa08f040272b786 new file mode 100644 index 0000000..667ad62 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/99d6e623a8a6446cf2f60c1fa08f040272b786 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/9f12f6d495e8bc64247f8766b58275cce496a0 b/src/test/resources/_git_of_git_commit_id/objects/cb/9f12f6d495e8bc64247f8766b58275cce496a0 new file mode 100644 index 0000000..eccc954 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/9f12f6d495e8bc64247f8766b58275cce496a0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/b319bb6511a758ebec5b34d49853e725fbc258 b/src/test/resources/_git_of_git_commit_id/objects/cb/b319bb6511a758ebec5b34d49853e725fbc258 new file mode 100644 index 0000000..018080c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/b319bb6511a758ebec5b34d49853e725fbc258 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/b54c3d61ccf76a6aef2f0ca5ebc61a7b531221 b/src/test/resources/_git_of_git_commit_id/objects/cb/b54c3d61ccf76a6aef2f0ca5ebc61a7b531221 new file mode 100644 index 0000000..454c1a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/b54c3d61ccf76a6aef2f0ca5ebc61a7b531221 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/cf7dccac21daa5c74d071c30cedc568676a7e1 b/src/test/resources/_git_of_git_commit_id/objects/cb/cf7dccac21daa5c74d071c30cedc568676a7e1 new file mode 100644 index 0000000..7fc262c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/cf7dccac21daa5c74d071c30cedc568676a7e1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/dae3b3fce779759b5f591d65dcdd112b00ce80 b/src/test/resources/_git_of_git_commit_id/objects/cb/dae3b3fce779759b5f591d65dcdd112b00ce80 new file mode 100644 index 0000000..e325c0e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/dae3b3fce779759b5f591d65dcdd112b00ce80 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cb/e7e97d4a49eafe4241a3b1c8896b3dfdff692b b/src/test/resources/_git_of_git_commit_id/objects/cb/e7e97d4a49eafe4241a3b1c8896b3dfdff692b new file mode 100644 index 0000000..f0c80d7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cb/e7e97d4a49eafe4241a3b1c8896b3dfdff692b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/27cf6b321ca170a826f4881a39d491aca8294c b/src/test/resources/_git_of_git_commit_id/objects/cc/27cf6b321ca170a826f4881a39d491aca8294c new file mode 100644 index 0000000..a7aa8c7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cc/27cf6b321ca170a826f4881a39d491aca8294c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/4bf8498af507f661db54227d91f983e4219c7d b/src/test/resources/_git_of_git_commit_id/objects/cc/4bf8498af507f661db54227d91f983e4219c7d new file mode 100644 index 0000000..e6a266e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cc/4bf8498af507f661db54227d91f983e4219c7d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/a0fe43ebfd188504592cc5dab9db8319e7609d b/src/test/resources/_git_of_git_commit_id/objects/cc/a0fe43ebfd188504592cc5dab9db8319e7609d new file mode 100644 index 0000000..9a9c7a3 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/cc/a0fe43ebfd188504592cc5dab9db8319e7609d @@ -0,0 +1 @@ +xKN1Y7c[B({ ' I ⽪Ps^(.F' hhk*6t` ;)j^@t G&-^k ~_+<z0:Bi!KYx{x/ohml~DQ-sZ Gd \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/b061dcc815cc5304328f6beb3f5a50f8cbf32d b/src/test/resources/_git_of_git_commit_id/objects/cc/b061dcc815cc5304328f6beb3f5a50f8cbf32d new file mode 100644 index 0000000..90f4392 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cc/b061dcc815cc5304328f6beb3f5a50f8cbf32d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/b133867b9e7ae8751490a2ea3f41e36c1320a1 b/src/test/resources/_git_of_git_commit_id/objects/cc/b133867b9e7ae8751490a2ea3f41e36c1320a1 new file mode 100644 index 0000000..0de893d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cc/b133867b9e7ae8751490a2ea3f41e36c1320a1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/f445ae9a27b131bb8d942f0d2cc1a419f27108 b/src/test/resources/_git_of_git_commit_id/objects/cc/f445ae9a27b131bb8d942f0d2cc1a419f27108 new file mode 100644 index 0000000..4d769b9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cc/f445ae9a27b131bb8d942f0d2cc1a419f27108 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cc/fee6bf6a3d95eeb32484e20eace09659463e00 b/src/test/resources/_git_of_git_commit_id/objects/cc/fee6bf6a3d95eeb32484e20eace09659463e00 new file mode 100644 index 0000000..22d1248 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cc/fee6bf6a3d95eeb32484e20eace09659463e00 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/0c614701c93808b96d43dc7531226e3cca17f7 b/src/test/resources/_git_of_git_commit_id/objects/cd/0c614701c93808b96d43dc7531226e3cca17f7 new file mode 100644 index 0000000..20497c8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cd/0c614701c93808b96d43dc7531226e3cca17f7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/5ef9be127fcbca7dc71a7f783b78f392a15f33 b/src/test/resources/_git_of_git_commit_id/objects/cd/5ef9be127fcbca7dc71a7f783b78f392a15f33 new file mode 100644 index 0000000..64e485d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cd/5ef9be127fcbca7dc71a7f783b78f392a15f33 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/b58fc6a3b467ccb62dd74719afee8f4adad772 b/src/test/resources/_git_of_git_commit_id/objects/cd/b58fc6a3b467ccb62dd74719afee8f4adad772 new file mode 100644 index 0000000..6e588b2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cd/b58fc6a3b467ccb62dd74719afee8f4adad772 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/baceba5b5a0eb9e54422510638e023dc6485c1 b/src/test/resources/_git_of_git_commit_id/objects/cd/baceba5b5a0eb9e54422510638e023dc6485c1 new file mode 100644 index 0000000..04254c0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cd/baceba5b5a0eb9e54422510638e023dc6485c1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/be31c365120c8e0490e1dd186004685311cc4b b/src/test/resources/_git_of_git_commit_id/objects/cd/be31c365120c8e0490e1dd186004685311cc4b new file mode 100644 index 0000000..6cf6d70 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/cd/be31c365120c8e0490e1dd186004685311cc4b @@ -0,0 +1 @@ +x+)JMU06a040031QM,.I-b`8>^G \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/e246fa8ab1651e57f41e1dd277572a8025032e b/src/test/resources/_git_of_git_commit_id/objects/cd/e246fa8ab1651e57f41e1dd277572a8025032e new file mode 100644 index 0000000..fae1b05 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cd/e246fa8ab1651e57f41e1dd277572a8025032e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cd/f73c064d7fd7d4190feca65ff6fed07eb193fa b/src/test/resources/_git_of_git_commit_id/objects/cd/f73c064d7fd7d4190feca65ff6fed07eb193fa new file mode 100644 index 0000000..667540b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cd/f73c064d7fd7d4190feca65ff6fed07eb193fa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ce/32484738c1a1bc73df79bf6ab7f735ec09e165 b/src/test/resources/_git_of_git_commit_id/objects/ce/32484738c1a1bc73df79bf6ab7f735ec09e165 new file mode 100644 index 0000000..0f8201e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ce/32484738c1a1bc73df79bf6ab7f735ec09e165 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ce/959f92b95c75bbc1d0995c9dc43eb8d14cc80e b/src/test/resources/_git_of_git_commit_id/objects/ce/959f92b95c75bbc1d0995c9dc43eb8d14cc80e new file mode 100644 index 0000000..bb6c8a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ce/959f92b95c75bbc1d0995c9dc43eb8d14cc80e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ce/c21a345e0e7e33a19e5380250eaebf07e3a864 b/src/test/resources/_git_of_git_commit_id/objects/ce/c21a345e0e7e33a19e5380250eaebf07e3a864 new file mode 100644 index 0000000..2221cbb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ce/c21a345e0e7e33a19e5380250eaebf07e3a864 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ce/c360419d85890c448dda67d8f2d27ce990039c b/src/test/resources/_git_of_git_commit_id/objects/ce/c360419d85890c448dda67d8f2d27ce990039c new file mode 100644 index 0000000..ae7de84 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/ce/c360419d85890c448dda67d8f2d27ce990039c @@ -0,0 +1 @@ +xKOR01g` 50K20d`jsdotWo/~RSg_A J| 'K \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/ce/cb304e71aea6c44119bb4e9aed54d02e0ecf6b b/src/test/resources/_git_of_git_commit_id/objects/ce/cb304e71aea6c44119bb4e9aed54d02e0ecf6b new file mode 100644 index 0000000..91b9765 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ce/cb304e71aea6c44119bb4e9aed54d02e0ecf6b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ce/dd7cc3c819c6568cd36a07aa9b9dc6aa2e6cff b/src/test/resources/_git_of_git_commit_id/objects/ce/dd7cc3c819c6568cd36a07aa9b9dc6aa2e6cff new file mode 100644 index 0000000..d10405c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ce/dd7cc3c819c6568cd36a07aa9b9dc6aa2e6cff differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/32f7f5311be7e665ad83388dab5c6e547060a6 b/src/test/resources/_git_of_git_commit_id/objects/cf/32f7f5311be7e665ad83388dab5c6e547060a6 new file mode 100644 index 0000000..8fc7c7f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/32f7f5311be7e665ad83388dab5c6e547060a6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/431072e24e67e8c31b8ee6786f36d1e8c22b49 b/src/test/resources/_git_of_git_commit_id/objects/cf/431072e24e67e8c31b8ee6786f36d1e8c22b49 new file mode 100644 index 0000000..e104a04 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/431072e24e67e8c31b8ee6786f36d1e8c22b49 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/4ef51f83ab1573b4e6239bec624a4ef78e445a b/src/test/resources/_git_of_git_commit_id/objects/cf/4ef51f83ab1573b4e6239bec624a4ef78e445a new file mode 100644 index 0000000..c110e9f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/4ef51f83ab1573b4e6239bec624a4ef78e445a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/749fec8300a041f9c0cdd6c8f178e51ad5d151 b/src/test/resources/_git_of_git_commit_id/objects/cf/749fec8300a041f9c0cdd6c8f178e51ad5d151 new file mode 100644 index 0000000..5875886 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/749fec8300a041f9c0cdd6c8f178e51ad5d151 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/80e029a5c95e788848c86393bf4c3704ab49f3 b/src/test/resources/_git_of_git_commit_id/objects/cf/80e029a5c95e788848c86393bf4c3704ab49f3 new file mode 100644 index 0000000..d43c13c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/80e029a5c95e788848c86393bf4c3704ab49f3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/88f39d31c3e715c3095f0cbbc77c1b0582dcba b/src/test/resources/_git_of_git_commit_id/objects/cf/88f39d31c3e715c3095f0cbbc77c1b0582dcba new file mode 100644 index 0000000..0c33be7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/88f39d31c3e715c3095f0cbbc77c1b0582dcba differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/d98877db88d3d4459f596d88be8d6e163692ce b/src/test/resources/_git_of_git_commit_id/objects/cf/d98877db88d3d4459f596d88be8d6e163692ce new file mode 100644 index 0000000..c25eecb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/d98877db88d3d4459f596d88be8d6e163692ce differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/daaacdf1b5c540f2dc46ef8127b2d37357232b b/src/test/resources/_git_of_git_commit_id/objects/cf/daaacdf1b5c540f2dc46ef8127b2d37357232b new file mode 100644 index 0000000..3a6a239 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/daaacdf1b5c540f2dc46ef8127b2d37357232b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/cf/e3045bb9196ff382b7780d008a3071e989a479 b/src/test/resources/_git_of_git_commit_id/objects/cf/e3045bb9196ff382b7780d008a3071e989a479 new file mode 100644 index 0000000..ae4f1e1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/cf/e3045bb9196ff382b7780d008a3071e989a479 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d0/52a741dc70c64a080d322a4692286b4cc0997b b/src/test/resources/_git_of_git_commit_id/objects/d0/52a741dc70c64a080d322a4692286b4cc0997b new file mode 100644 index 0000000..193368e --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/d0/52a741dc70c64a080d322a4692286b4cc0997b @@ -0,0 +1 @@ +x+)JMU03c040031Q0M454202I27N366HN5347N17M174N66455c )+;{粩L2uM/* \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/d0/5b011e9d2bd1356327edda37337e958fbbbe65 b/src/test/resources/_git_of_git_commit_id/objects/d0/5b011e9d2bd1356327edda37337e958fbbbe65 new file mode 100644 index 0000000..8711f60 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d0/5b011e9d2bd1356327edda37337e958fbbbe65 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d0/8198a960eb0861ea3098ac4cad5a6d99ad30f2 b/src/test/resources/_git_of_git_commit_id/objects/d0/8198a960eb0861ea3098ac4cad5a6d99ad30f2 new file mode 100644 index 0000000..18519f2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d0/8198a960eb0861ea3098ac4cad5a6d99ad30f2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d0/aadecef0e3d2a48e2c44a97dca5ff17424f949 b/src/test/resources/_git_of_git_commit_id/objects/d0/aadecef0e3d2a48e2c44a97dca5ff17424f949 new file mode 100644 index 0000000..4eea818 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d0/aadecef0e3d2a48e2c44a97dca5ff17424f949 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d0/b56c5756b68e3839683fdbf86c1d12e8dcc41b b/src/test/resources/_git_of_git_commit_id/objects/d0/b56c5756b68e3839683fdbf86c1d12e8dcc41b new file mode 100644 index 0000000..0705dc4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d0/b56c5756b68e3839683fdbf86c1d12e8dcc41b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d0/b7a78acde513aed4a32ca28fe86425d2afac0e b/src/test/resources/_git_of_git_commit_id/objects/d0/b7a78acde513aed4a32ca28fe86425d2afac0e new file mode 100644 index 0000000..558decc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d0/b7a78acde513aed4a32ca28fe86425d2afac0e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/0405c63fc1dbc37360c29b67fd05c89194d893 b/src/test/resources/_git_of_git_commit_id/objects/d1/0405c63fc1dbc37360c29b67fd05c89194d893 new file mode 100644 index 0000000..1f0bb80 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/0405c63fc1dbc37360c29b67fd05c89194d893 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/2a80e7cca39e0e12236f45a654b37942a8b660 b/src/test/resources/_git_of_git_commit_id/objects/d1/2a80e7cca39e0e12236f45a654b37942a8b660 new file mode 100644 index 0000000..6f8a107 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/2a80e7cca39e0e12236f45a654b37942a8b660 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/483503cba782191a7b39559218b2280e0d0b1d b/src/test/resources/_git_of_git_commit_id/objects/d1/483503cba782191a7b39559218b2280e0d0b1d new file mode 100644 index 0000000..2c8ff1b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/483503cba782191a7b39559218b2280e0d0b1d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/777895ac536fa55930fa4f40c812c360df139c b/src/test/resources/_git_of_git_commit_id/objects/d1/777895ac536fa55930fa4f40c812c360df139c new file mode 100644 index 0000000..8af114e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/777895ac536fa55930fa4f40c812c360df139c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/834c74637b491cc1c98b2d30164cdc5c24ef72 b/src/test/resources/_git_of_git_commit_id/objects/d1/834c74637b491cc1c98b2d30164cdc5c24ef72 new file mode 100644 index 0000000..e7963e7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/834c74637b491cc1c98b2d30164cdc5c24ef72 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/e268faa24410a706e66ea0d8e439c92320377d b/src/test/resources/_git_of_git_commit_id/objects/d1/e268faa24410a706e66ea0d8e439c92320377d new file mode 100644 index 0000000..91bac03 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/e268faa24410a706e66ea0d8e439c92320377d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/e7a81440c3dcaed9bd7bd89e9e7ecbd30ad2dc b/src/test/resources/_git_of_git_commit_id/objects/d1/e7a81440c3dcaed9bd7bd89e9e7ecbd30ad2dc new file mode 100644 index 0000000..e72aa03 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/e7a81440c3dcaed9bd7bd89e9e7ecbd30ad2dc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d1/f83562596af27cfcaaa0f6d87b24c8a56c1703 b/src/test/resources/_git_of_git_commit_id/objects/d1/f83562596af27cfcaaa0f6d87b24c8a56c1703 new file mode 100644 index 0000000..590d9a7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d1/f83562596af27cfcaaa0f6d87b24c8a56c1703 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/034cbb39ed1fd45b2ff10bd856ea48c9a39496 b/src/test/resources/_git_of_git_commit_id/objects/d2/034cbb39ed1fd45b2ff10bd856ea48c9a39496 new file mode 100644 index 0000000..8623170 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/034cbb39ed1fd45b2ff10bd856ea48c9a39496 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/0e77119e89eced7670f079425b9623eae30cb8 b/src/test/resources/_git_of_git_commit_id/objects/d2/0e77119e89eced7670f079425b9623eae30cb8 new file mode 100644 index 0000000..25691e4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/0e77119e89eced7670f079425b9623eae30cb8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/394cb168d59bde090ed1b0fa7f793ee510a3c1 b/src/test/resources/_git_of_git_commit_id/objects/d2/394cb168d59bde090ed1b0fa7f793ee510a3c1 new file mode 100644 index 0000000..73860cd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/394cb168d59bde090ed1b0fa7f793ee510a3c1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/49cc0b2687813b39103c5f08b6a0cb1571a127 b/src/test/resources/_git_of_git_commit_id/objects/d2/49cc0b2687813b39103c5f08b6a0cb1571a127 new file mode 100644 index 0000000..036f265 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/49cc0b2687813b39103c5f08b6a0cb1571a127 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/5233e751f6a70132f6b31d16ff1aa176ce51e5 b/src/test/resources/_git_of_git_commit_id/objects/d2/5233e751f6a70132f6b31d16ff1aa176ce51e5 new file mode 100644 index 0000000..30cf0d8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/5233e751f6a70132f6b31d16ff1aa176ce51e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/75609ff1a1dea6d7e2f3823edee43ced09540b b/src/test/resources/_git_of_git_commit_id/objects/d2/75609ff1a1dea6d7e2f3823edee43ced09540b new file mode 100644 index 0000000..f565f02 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/75609ff1a1dea6d7e2f3823edee43ced09540b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/87a6a41da6a6135d603c2ff4558ab6487906c0 b/src/test/resources/_git_of_git_commit_id/objects/d2/87a6a41da6a6135d603c2ff4558ab6487906c0 new file mode 100644 index 0000000..38ec7b6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/87a6a41da6a6135d603c2ff4558ab6487906c0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/884193e38011a496f1ee19f43f3c992a6acb1e b/src/test/resources/_git_of_git_commit_id/objects/d2/884193e38011a496f1ee19f43f3c992a6acb1e new file mode 100644 index 0000000..3e7b322 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/884193e38011a496f1ee19f43f3c992a6acb1e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/a8c0056c495d55ba5d923629651e694103bdf4 b/src/test/resources/_git_of_git_commit_id/objects/d2/a8c0056c495d55ba5d923629651e694103bdf4 new file mode 100644 index 0000000..23c41ef Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/a8c0056c495d55ba5d923629651e694103bdf4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/cae95350106152f1a99fb93e88d5805aaab61d b/src/test/resources/_git_of_git_commit_id/objects/d2/cae95350106152f1a99fb93e88d5805aaab61d new file mode 100644 index 0000000..88adcb5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/cae95350106152f1a99fb93e88d5805aaab61d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/df9ff65f91becba466446a82e40d8d01c65cc8 b/src/test/resources/_git_of_git_commit_id/objects/d2/df9ff65f91becba466446a82e40d8d01c65cc8 new file mode 100644 index 0000000..796c67e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/df9ff65f91becba466446a82e40d8d01c65cc8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d2/f3939f870f570ab7aa39f8b53be98467114969 b/src/test/resources/_git_of_git_commit_id/objects/d2/f3939f870f570ab7aa39f8b53be98467114969 new file mode 100644 index 0000000..53956e7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d2/f3939f870f570ab7aa39f8b53be98467114969 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d3/225295fb4fc7109fdd1a31dd79646a340f1460 b/src/test/resources/_git_of_git_commit_id/objects/d3/225295fb4fc7109fdd1a31dd79646a340f1460 new file mode 100644 index 0000000..c740025 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d3/225295fb4fc7109fdd1a31dd79646a340f1460 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d3/469167e4977a5f12fb6d39e7be886252a6179c b/src/test/resources/_git_of_git_commit_id/objects/d3/469167e4977a5f12fb6d39e7be886252a6179c new file mode 100644 index 0000000..ade82fa Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d3/469167e4977a5f12fb6d39e7be886252a6179c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d3/677bb0309ad49f7a8564110cf3a865bac78184 b/src/test/resources/_git_of_git_commit_id/objects/d3/677bb0309ad49f7a8564110cf3a865bac78184 new file mode 100644 index 0000000..bd7c95e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d3/677bb0309ad49f7a8564110cf3a865bac78184 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d3/b97b8c60e0f4af620cd16a08969a0c9ae45ffe b/src/test/resources/_git_of_git_commit_id/objects/d3/b97b8c60e0f4af620cd16a08969a0c9ae45ffe new file mode 100644 index 0000000..e14d1a8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d3/b97b8c60e0f4af620cd16a08969a0c9ae45ffe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d3/bf85490d90e0f599512e06b39b58efdf950ab5 b/src/test/resources/_git_of_git_commit_id/objects/d3/bf85490d90e0f599512e06b39b58efdf950ab5 new file mode 100644 index 0000000..f60ea1d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d3/bf85490d90e0f599512e06b39b58efdf950ab5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/0afdad0e8718ff750a853336f392441dd06b8a b/src/test/resources/_git_of_git_commit_id/objects/d4/0afdad0e8718ff750a853336f392441dd06b8a new file mode 100644 index 0000000..ac82ac4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/0afdad0e8718ff750a853336f392441dd06b8a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/374371dc3882c90f17130e6abf89cb8d099b31 b/src/test/resources/_git_of_git_commit_id/objects/d4/374371dc3882c90f17130e6abf89cb8d099b31 new file mode 100644 index 0000000..23a077f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/374371dc3882c90f17130e6abf89cb8d099b31 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/3c13c57b9e3db6e8b506585bb37fa076351635 b/src/test/resources/_git_of_git_commit_id/objects/d4/3c13c57b9e3db6e8b506585bb37fa076351635 new file mode 100644 index 0000000..cb36c29 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/3c13c57b9e3db6e8b506585bb37fa076351635 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/41c1eb2459cf181ddc1a88cc086b2d33932fe9 b/src/test/resources/_git_of_git_commit_id/objects/d4/41c1eb2459cf181ddc1a88cc086b2d33932fe9 new file mode 100644 index 0000000..331f99d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/41c1eb2459cf181ddc1a88cc086b2d33932fe9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/4fde32adb1c22f48da0c7c9392f9c3d5e5fde9 b/src/test/resources/_git_of_git_commit_id/objects/d4/4fde32adb1c22f48da0c7c9392f9c3d5e5fde9 new file mode 100644 index 0000000..396ff23 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/4fde32adb1c22f48da0c7c9392f9c3d5e5fde9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/7816036185d399255f51b047f44eb21784a94b b/src/test/resources/_git_of_git_commit_id/objects/d4/7816036185d399255f51b047f44eb21784a94b new file mode 100644 index 0000000..55f7d49 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/7816036185d399255f51b047f44eb21784a94b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/a1082ee33aecee33045158c1103e9b69d47c4b b/src/test/resources/_git_of_git_commit_id/objects/d4/a1082ee33aecee33045158c1103e9b69d47c4b new file mode 100644 index 0000000..7c65640 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/a1082ee33aecee33045158c1103e9b69d47c4b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/a15f02ca00e703c8507b4111aefaa445295348 b/src/test/resources/_git_of_git_commit_id/objects/d4/a15f02ca00e703c8507b4111aefaa445295348 new file mode 100644 index 0000000..2af528c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/a15f02ca00e703c8507b4111aefaa445295348 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d4/f47234bb78ca2416e6fd0388b59f698ece503e b/src/test/resources/_git_of_git_commit_id/objects/d4/f47234bb78ca2416e6fd0388b59f698ece503e new file mode 100644 index 0000000..d8a06de Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d4/f47234bb78ca2416e6fd0388b59f698ece503e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/1d80a608add1b649247e922fa0669f05945d80 b/src/test/resources/_git_of_git_commit_id/objects/d5/1d80a608add1b649247e922fa0669f05945d80 new file mode 100644 index 0000000..6e73acf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/1d80a608add1b649247e922fa0669f05945d80 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/5f5d8b9d03bb050a956ffed361fe5955e3641b b/src/test/resources/_git_of_git_commit_id/objects/d5/5f5d8b9d03bb050a956ffed361fe5955e3641b new file mode 100644 index 0000000..207bc3d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/5f5d8b9d03bb050a956ffed361fe5955e3641b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/6bf9d55251445cc67b68be701f359253beb423 b/src/test/resources/_git_of_git_commit_id/objects/d5/6bf9d55251445cc67b68be701f359253beb423 new file mode 100644 index 0000000..3ddf51a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/6bf9d55251445cc67b68be701f359253beb423 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/81c0df68cf4c1b0bf724f0a6914f314e1c354f b/src/test/resources/_git_of_git_commit_id/objects/d5/81c0df68cf4c1b0bf724f0a6914f314e1c354f new file mode 100644 index 0000000..49f9e4b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/81c0df68cf4c1b0bf724f0a6914f314e1c354f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/96df6e7295962f52b2015b7c990cf832035ffe b/src/test/resources/_git_of_git_commit_id/objects/d5/96df6e7295962f52b2015b7c990cf832035ffe new file mode 100644 index 0000000..7af7bb9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/96df6e7295962f52b2015b7c990cf832035ffe differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/9921ca7da2a1441e814667ff58bb2dbb502c53 b/src/test/resources/_git_of_git_commit_id/objects/d5/9921ca7da2a1441e814667ff58bb2dbb502c53 new file mode 100644 index 0000000..344552a --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/d5/9921ca7da2a1441e814667ff58bb2dbb502c53 @@ -0,0 +1,2 @@ +xMj1 @} + AvlɆP/=F4뷄۷x< 2Tj,C䖙hJ9pRXHmD2eբ85f,kF}|>KOYvr} G߿M? 9&LsW N'QOm1n˽6T \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/a9f152aefb06ba34f398175a6e5671407a72b8 b/src/test/resources/_git_of_git_commit_id/objects/d5/a9f152aefb06ba34f398175a6e5671407a72b8 new file mode 100644 index 0000000..88b7223 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/a9f152aefb06ba34f398175a6e5671407a72b8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/cad9d386fc4e1df9c33633948f47b8a9fee96a b/src/test/resources/_git_of_git_commit_id/objects/d5/cad9d386fc4e1df9c33633948f47b8a9fee96a new file mode 100644 index 0000000..20b9700 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/cad9d386fc4e1df9c33633948f47b8a9fee96a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/ef46b51604977c518b122fccf5b9dd762f789b b/src/test/resources/_git_of_git_commit_id/objects/d5/ef46b51604977c518b122fccf5b9dd762f789b new file mode 100644 index 0000000..316351b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/ef46b51604977c518b122fccf5b9dd762f789b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d5/f9a99b78ae94a371e5948763e51d35a29f8df0 b/src/test/resources/_git_of_git_commit_id/objects/d5/f9a99b78ae94a371e5948763e51d35a29f8df0 new file mode 100644 index 0000000..439cb6d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d5/f9a99b78ae94a371e5948763e51d35a29f8df0 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/02cca867bc88919bb5e6e07b44ff65040c09b4 b/src/test/resources/_git_of_git_commit_id/objects/d6/02cca867bc88919bb5e6e07b44ff65040c09b4 new file mode 100644 index 0000000..3f4d852 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/02cca867bc88919bb5e6e07b44ff65040c09b4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/0415fdcc2c077100e0d2389ea394cfa25ef288 b/src/test/resources/_git_of_git_commit_id/objects/d6/0415fdcc2c077100e0d2389ea394cfa25ef288 new file mode 100644 index 0000000..6975df5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/0415fdcc2c077100e0d2389ea394cfa25ef288 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/30934d3485e4876f05d0abb6bc0d5b8cc85306 b/src/test/resources/_git_of_git_commit_id/objects/d6/30934d3485e4876f05d0abb6bc0d5b8cc85306 new file mode 100644 index 0000000..8141895 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/30934d3485e4876f05d0abb6bc0d5b8cc85306 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/3116c6a19358a97f5fb33dc0b84144f6fcaa7b b/src/test/resources/_git_of_git_commit_id/objects/d6/3116c6a19358a97f5fb33dc0b84144f6fcaa7b new file mode 100644 index 0000000..c87d228 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/3116c6a19358a97f5fb33dc0b84144f6fcaa7b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/5b8b2fc79b19aec84e03a5bf786887442a9098 b/src/test/resources/_git_of_git_commit_id/objects/d6/5b8b2fc79b19aec84e03a5bf786887442a9098 new file mode 100644 index 0000000..b61f091 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/5b8b2fc79b19aec84e03a5bf786887442a9098 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/6dcb06b013df39aa559d6750908996a96015fb b/src/test/resources/_git_of_git_commit_id/objects/d6/6dcb06b013df39aa559d6750908996a96015fb new file mode 100644 index 0000000..0c762f7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/6dcb06b013df39aa559d6750908996a96015fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/7ed645491e5dd792fb50a0f16b8e7adc1dd228 b/src/test/resources/_git_of_git_commit_id/objects/d6/7ed645491e5dd792fb50a0f16b8e7adc1dd228 new file mode 100644 index 0000000..154a1be Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/7ed645491e5dd792fb50a0f16b8e7adc1dd228 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/c0e5be89d25fe17e550142a75f803eaa25609f b/src/test/resources/_git_of_git_commit_id/objects/d6/c0e5be89d25fe17e550142a75f803eaa25609f new file mode 100644 index 0000000..6cae735 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/c0e5be89d25fe17e550142a75f803eaa25609f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d6/cd7971a3f067df0393db2d3ff61ead0bcf46de b/src/test/resources/_git_of_git_commit_id/objects/d6/cd7971a3f067df0393db2d3ff61ead0bcf46de new file mode 100644 index 0000000..3865e02 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d6/cd7971a3f067df0393db2d3ff61ead0bcf46de differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d7/027aaaccb202f2854827cbe79d0d6c1b5328b2 b/src/test/resources/_git_of_git_commit_id/objects/d7/027aaaccb202f2854827cbe79d0d6c1b5328b2 new file mode 100644 index 0000000..a291773 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/d7/027aaaccb202f2854827cbe79d0d6c1b5328b2 @@ -0,0 +1 @@ +x+)JMU03c040031Q0M435MKJLH5RIIIFF)IfFffɩi g6$9!z&Ũ?}Tӟu0Nh \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/d7/558de5ffc70a995c08c9951fbb8309edbf825f b/src/test/resources/_git_of_git_commit_id/objects/d7/558de5ffc70a995c08c9951fbb8309edbf825f new file mode 100644 index 0000000..3910817 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d7/558de5ffc70a995c08c9951fbb8309edbf825f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d7/5a655fbac8e4fbaba80bb8a722db65266ce3f1 b/src/test/resources/_git_of_git_commit_id/objects/d7/5a655fbac8e4fbaba80bb8a722db65266ce3f1 new file mode 100644 index 0000000..ccb061d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d7/5a655fbac8e4fbaba80bb8a722db65266ce3f1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d7/78c2df4349e4aab79b23c4cee1aad281122647 b/src/test/resources/_git_of_git_commit_id/objects/d7/78c2df4349e4aab79b23c4cee1aad281122647 new file mode 100644 index 0000000..cd990d0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d7/78c2df4349e4aab79b23c4cee1aad281122647 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d7/986e7ed7307536c24df56230878d29fe82d15d b/src/test/resources/_git_of_git_commit_id/objects/d7/986e7ed7307536c24df56230878d29fe82d15d new file mode 100644 index 0000000..082c8c7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d7/986e7ed7307536c24df56230878d29fe82d15d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/0a3655e57ae405ad12e0ea3b93fd1628f3df96 b/src/test/resources/_git_of_git_commit_id/objects/d8/0a3655e57ae405ad12e0ea3b93fd1628f3df96 new file mode 100644 index 0000000..e5fccd8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/0a3655e57ae405ad12e0ea3b93fd1628f3df96 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/6689c99e80b281fd66a3a0f53d9464fb6c5012 b/src/test/resources/_git_of_git_commit_id/objects/d8/6689c99e80b281fd66a3a0f53d9464fb6c5012 new file mode 100644 index 0000000..cbfd96d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/6689c99e80b281fd66a3a0f53d9464fb6c5012 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/71ca87749ec1d24c67ff57cfa29a5489d9ff4a b/src/test/resources/_git_of_git_commit_id/objects/d8/71ca87749ec1d24c67ff57cfa29a5489d9ff4a new file mode 100644 index 0000000..99544a2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/71ca87749ec1d24c67ff57cfa29a5489d9ff4a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/ce2978c3a77f5bd3651f5c995b107f483ef473 b/src/test/resources/_git_of_git_commit_id/objects/d8/ce2978c3a77f5bd3651f5c995b107f483ef473 new file mode 100644 index 0000000..aa3fda1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/ce2978c3a77f5bd3651f5c995b107f483ef473 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/d518e8c76215b75dd6d6cbb06ad611ecfbcb2a b/src/test/resources/_git_of_git_commit_id/objects/d8/d518e8c76215b75dd6d6cbb06ad611ecfbcb2a new file mode 100644 index 0000000..3985f3f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/d518e8c76215b75dd6d6cbb06ad611ecfbcb2a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/d9f872d0ce7ca6be45ceb17b6972520c324a1e b/src/test/resources/_git_of_git_commit_id/objects/d8/d9f872d0ce7ca6be45ceb17b6972520c324a1e new file mode 100644 index 0000000..c87f1b6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/d9f872d0ce7ca6be45ceb17b6972520c324a1e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d8/ee4c528729c3e5b3b46cf21763797873a50329 b/src/test/resources/_git_of_git_commit_id/objects/d8/ee4c528729c3e5b3b46cf21763797873a50329 new file mode 100644 index 0000000..ba7d56c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d8/ee4c528729c3e5b3b46cf21763797873a50329 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d9/2823ad9b2076e260848eb8c74f1475068938a4 b/src/test/resources/_git_of_git_commit_id/objects/d9/2823ad9b2076e260848eb8c74f1475068938a4 new file mode 100644 index 0000000..834d10a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d9/2823ad9b2076e260848eb8c74f1475068938a4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d9/3ca4c67159638eb90119391107bf5972f243a7 b/src/test/resources/_git_of_git_commit_id/objects/d9/3ca4c67159638eb90119391107bf5972f243a7 new file mode 100644 index 0000000..f0897fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d9/3ca4c67159638eb90119391107bf5972f243a7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d9/3fd7dde87a91cd40e55fd435fa5237b6a91586 b/src/test/resources/_git_of_git_commit_id/objects/d9/3fd7dde87a91cd40e55fd435fa5237b6a91586 new file mode 100644 index 0000000..cf4ef51 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d9/3fd7dde87a91cd40e55fd435fa5237b6a91586 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/d9/f6b25f63a3f6163204d401cd894155852e15fa b/src/test/resources/_git_of_git_commit_id/objects/d9/f6b25f63a3f6163204d401cd894155852e15fa new file mode 100644 index 0000000..19dd72f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/d9/f6b25f63a3f6163204d401cd894155852e15fa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/da/03347ec81f1714df3b9e47f12d856bf99e7b3b b/src/test/resources/_git_of_git_commit_id/objects/da/03347ec81f1714df3b9e47f12d856bf99e7b3b new file mode 100644 index 0000000..8e2dc9b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/da/03347ec81f1714df3b9e47f12d856bf99e7b3b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/da/0efe78987d761c69faa0d3998caf5ea247bd79 b/src/test/resources/_git_of_git_commit_id/objects/da/0efe78987d761c69faa0d3998caf5ea247bd79 new file mode 100644 index 0000000..de1713e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/da/0efe78987d761c69faa0d3998caf5ea247bd79 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/da/1c746d2bd6315adce0b20b7a53605a902d3eb6 b/src/test/resources/_git_of_git_commit_id/objects/da/1c746d2bd6315adce0b20b7a53605a902d3eb6 new file mode 100644 index 0000000..c3de8b7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/da/1c746d2bd6315adce0b20b7a53605a902d3eb6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/da/4f948063ce79aa1e7bb667bfa7790aa5258412 b/src/test/resources/_git_of_git_commit_id/objects/da/4f948063ce79aa1e7bb667bfa7790aa5258412 new file mode 100644 index 0000000..afc9bc3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/da/4f948063ce79aa1e7bb667bfa7790aa5258412 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/da/508e47e7fd5537f167546c5c9511d5910dd7d7 b/src/test/resources/_git_of_git_commit_id/objects/da/508e47e7fd5537f167546c5c9511d5910dd7d7 new file mode 100644 index 0000000..b19a5c7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/da/508e47e7fd5537f167546c5c9511d5910dd7d7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/da/689d27b31d8309cd64e3340c7d035fafe8ec41 b/src/test/resources/_git_of_git_commit_id/objects/da/689d27b31d8309cd64e3340c7d035fafe8ec41 new file mode 100644 index 0000000..f8d7f86 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/da/689d27b31d8309cd64e3340c7d035fafe8ec41 @@ -0,0 +1 @@ +x+)JMU046b040031Q0L510M072O5L0N03M605"CDKs DsbL;g9(f=oq= ifƉfɩiiIi)))&IF otO [) +R^ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/db/ccaf520c2c25038a21feca7ee9b2fa4da2f08b b/src/test/resources/_git_of_git_commit_id/objects/db/ccaf520c2c25038a21feca7ee9b2fa4da2f08b new file mode 100644 index 0000000..433c4b6 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/db/ccaf520c2c25038a21feca7ee9b2fa4da2f08b @@ -0,0 +1 @@ +xKOR05d` 50K60d`jmZg͕'Bl&߭^BWYT9 ~_<& \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/db/ec6a727f4c93ab9e3c4f20cf57a0fa4c8a965d b/src/test/resources/_git_of_git_commit_id/objects/db/ec6a727f4c93ab9e3c4f20cf57a0fa4c8a965d new file mode 100644 index 0000000..0a9ebb7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/db/ec6a727f4c93ab9e3c4f20cf57a0fa4c8a965d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/dc/c01ac0e55d5dcb1fba008da72cba8416cbb049 b/src/test/resources/_git_of_git_commit_id/objects/dc/c01ac0e55d5dcb1fba008da72cba8416cbb049 new file mode 100644 index 0000000..9c292f8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/dc/c01ac0e55d5dcb1fba008da72cba8416cbb049 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/dc/c6edf03d0029b2aff37a11007e14d815afd33b b/src/test/resources/_git_of_git_commit_id/objects/dc/c6edf03d0029b2aff37a11007e14d815afd33b new file mode 100644 index 0000000..9ed8bd5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/dc/c6edf03d0029b2aff37a11007e14d815afd33b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/dd/3bbc698447ecdf0c6b74fb2772beaebee98ced b/src/test/resources/_git_of_git_commit_id/objects/dd/3bbc698447ecdf0c6b74fb2772beaebee98ced new file mode 100644 index 0000000..512ef93 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/dd/3bbc698447ecdf0c6b74fb2772beaebee98ced differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/dd/4b871212e2c674a245ca759ccbf071f5c7d487 b/src/test/resources/_git_of_git_commit_id/objects/dd/4b871212e2c674a245ca759ccbf071f5c7d487 new file mode 100644 index 0000000..86a154a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/dd/4b871212e2c674a245ca759ccbf071f5c7d487 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/dd/c4c514110256efdd042fee5a75d5f2968c04f7 b/src/test/resources/_git_of_git_commit_id/objects/dd/c4c514110256efdd042fee5a75d5f2968c04f7 new file mode 100644 index 0000000..d2a0c73 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/dd/c4c514110256efdd042fee5a75d5f2968c04f7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/de/31ccf867111a333acbfe5eae7ffd27f9ee5f2e b/src/test/resources/_git_of_git_commit_id/objects/de/31ccf867111a333acbfe5eae7ffd27f9ee5f2e new file mode 100644 index 0000000..7f89579 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/de/31ccf867111a333acbfe5eae7ffd27f9ee5f2e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/de/504d84aae98db0ed25c0704cb0eea74cb68a71 b/src/test/resources/_git_of_git_commit_id/objects/de/504d84aae98db0ed25c0704cb0eea74cb68a71 new file mode 100644 index 0000000..d120166 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/de/504d84aae98db0ed25c0704cb0eea74cb68a71 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/de/be48966aac04a00cca95f3d234b720e5c8c4e2 b/src/test/resources/_git_of_git_commit_id/objects/de/be48966aac04a00cca95f3d234b720e5c8c4e2 new file mode 100644 index 0000000..86b1d99 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/de/be48966aac04a00cca95f3d234b720e5c8c4e2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/de/e6e99ebf20cd93cef00da94a2960281227ee9f b/src/test/resources/_git_of_git_commit_id/objects/de/e6e99ebf20cd93cef00da94a2960281227ee9f new file mode 100644 index 0000000..aa5d504 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/de/e6e99ebf20cd93cef00da94a2960281227ee9f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/72109c765ecd2b54bceea2c7279a5df8784e07 b/src/test/resources/_git_of_git_commit_id/objects/df/72109c765ecd2b54bceea2c7279a5df8784e07 new file mode 100644 index 0000000..86b708d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/72109c765ecd2b54bceea2c7279a5df8784e07 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/939914a15b86f1659db5e3eac4dd6ae7b0c23b b/src/test/resources/_git_of_git_commit_id/objects/df/939914a15b86f1659db5e3eac4dd6ae7b0c23b new file mode 100644 index 0000000..2e2feb3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/939914a15b86f1659db5e3eac4dd6ae7b0c23b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/a031c6c1394f36a57e707158cd7283ef2f1cde b/src/test/resources/_git_of_git_commit_id/objects/df/a031c6c1394f36a57e707158cd7283ef2f1cde new file mode 100644 index 0000000..5beac8c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/a031c6c1394f36a57e707158cd7283ef2f1cde differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/c83820f9ae152bb59edd8d9682987c579e38ec b/src/test/resources/_git_of_git_commit_id/objects/df/c83820f9ae152bb59edd8d9682987c579e38ec new file mode 100644 index 0000000..4b81e32 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/c83820f9ae152bb59edd8d9682987c579e38ec differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/d93b07fd2b7e8674b26425487ddc96e767764b b/src/test/resources/_git_of_git_commit_id/objects/df/d93b07fd2b7e8674b26425487ddc96e767764b new file mode 100644 index 0000000..b346aab Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/d93b07fd2b7e8674b26425487ddc96e767764b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/ded2fce4a9278a992ed3558fe2f3031446b414 b/src/test/resources/_git_of_git_commit_id/objects/df/ded2fce4a9278a992ed3558fe2f3031446b414 new file mode 100644 index 0000000..8a92b29 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/ded2fce4a9278a992ed3558fe2f3031446b414 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/df/f5f3a5d02a71dcf47f617135ac04564aa75973 b/src/test/resources/_git_of_git_commit_id/objects/df/f5f3a5d02a71dcf47f617135ac04564aa75973 new file mode 100644 index 0000000..e380204 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/df/f5f3a5d02a71dcf47f617135ac04564aa75973 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/23c01a82bf6112c2a8073bf06ae789c6e163f1 b/src/test/resources/_git_of_git_commit_id/objects/e0/23c01a82bf6112c2a8073bf06ae789c6e163f1 new file mode 100644 index 0000000..2c685c1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/23c01a82bf6112c2a8073bf06ae789c6e163f1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/328251c3d3337fbd3757cf77a53b7237397b3a b/src/test/resources/_git_of_git_commit_id/objects/e0/328251c3d3337fbd3757cf77a53b7237397b3a new file mode 100644 index 0000000..69e238e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/328251c3d3337fbd3757cf77a53b7237397b3a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/32ed7f8a53f6650194e067b6544bf5b0ec2ec7 b/src/test/resources/_git_of_git_commit_id/objects/e0/32ed7f8a53f6650194e067b6544bf5b0ec2ec7 new file mode 100644 index 0000000..cc5cd40 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/32ed7f8a53f6650194e067b6544bf5b0ec2ec7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/5c7d841c7be397fd2e5e55eec281858f0aef10 b/src/test/resources/_git_of_git_commit_id/objects/e0/5c7d841c7be397fd2e5e55eec281858f0aef10 new file mode 100644 index 0000000..1e7c543 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/5c7d841c7be397fd2e5e55eec281858f0aef10 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/7b30696031940d29fef494bcba2c8cd91965c1 b/src/test/resources/_git_of_git_commit_id/objects/e0/7b30696031940d29fef494bcba2c8cd91965c1 new file mode 100644 index 0000000..93f52b1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/7b30696031940d29fef494bcba2c8cd91965c1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/887097fd8ada159f97808a14b51fe6ac40e8e3 b/src/test/resources/_git_of_git_commit_id/objects/e0/887097fd8ada159f97808a14b51fe6ac40e8e3 new file mode 100644 index 0000000..9fd5f73 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/887097fd8ada159f97808a14b51fe6ac40e8e3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/c68a258ffbd9da3a63819f4952f73802a808ae b/src/test/resources/_git_of_git_commit_id/objects/e0/c68a258ffbd9da3a63819f4952f73802a808ae new file mode 100644 index 0000000..f7cfc63 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/c68a258ffbd9da3a63819f4952f73802a808ae differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/c7e1820d8ff3bd05a0fd863d74c4c226d913d1 b/src/test/resources/_git_of_git_commit_id/objects/e0/c7e1820d8ff3bd05a0fd863d74c4c226d913d1 new file mode 100644 index 0000000..fa27d11 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/c7e1820d8ff3bd05a0fd863d74c4c226d913d1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e0/d39cf77caad5392108fd4e1b43b4e8ca1e6502 b/src/test/resources/_git_of_git_commit_id/objects/e0/d39cf77caad5392108fd4e1b43b4e8ca1e6502 new file mode 100644 index 0000000..95dfb4c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e0/d39cf77caad5392108fd4e1b43b4e8ca1e6502 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e1/04a04987e3d42cef03b57f3ea4421e3469c54f b/src/test/resources/_git_of_git_commit_id/objects/e1/04a04987e3d42cef03b57f3ea4421e3469c54f new file mode 100644 index 0000000..ab69a72 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e1/04a04987e3d42cef03b57f3ea4421e3469c54f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e1/36f0978d3ec065c04341dc054863ad6b3fb6a7 b/src/test/resources/_git_of_git_commit_id/objects/e1/36f0978d3ec065c04341dc054863ad6b3fb6a7 new file mode 100644 index 0000000..cf48bad Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e1/36f0978d3ec065c04341dc054863ad6b3fb6a7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e1/5b957922824b73f330ce6173d75d713c329556 b/src/test/resources/_git_of_git_commit_id/objects/e1/5b957922824b73f330ce6173d75d713c329556 new file mode 100644 index 0000000..8d54767 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e1/5b957922824b73f330ce6173d75d713c329556 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e1/77133e5592f4c746e122667c06bf2408be59e6 b/src/test/resources/_git_of_git_commit_id/objects/e1/77133e5592f4c746e122667c06bf2408be59e6 new file mode 100644 index 0000000..0085c87 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e1/77133e5592f4c746e122667c06bf2408be59e6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e2/4360d4978fea78e70eb44909642b4ab808d686 b/src/test/resources/_git_of_git_commit_id/objects/e2/4360d4978fea78e70eb44909642b4ab808d686 new file mode 100644 index 0000000..f8f9da5 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e2/4360d4978fea78e70eb44909642b4ab808d686 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e2/8feb6725e80851224ed0ae62b94ca41d95b0e5 b/src/test/resources/_git_of_git_commit_id/objects/e2/8feb6725e80851224ed0ae62b94ca41d95b0e5 new file mode 100644 index 0000000..31c5128 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e2/8feb6725e80851224ed0ae62b94ca41d95b0e5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e2/c0579bad7ab721942a1299291c103ff3084491 b/src/test/resources/_git_of_git_commit_id/objects/e2/c0579bad7ab721942a1299291c103ff3084491 new file mode 100644 index 0000000..7713cf9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e2/c0579bad7ab721942a1299291c103ff3084491 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e2/d4fb2d63fb0f25ae168281d7dadfeb131bc110 b/src/test/resources/_git_of_git_commit_id/objects/e2/d4fb2d63fb0f25ae168281d7dadfeb131bc110 new file mode 100644 index 0000000..34bfc27 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/e2/d4fb2d63fb0f25ae168281d7dadfeb131bc110 @@ -0,0 +1 @@ +xMN0a>Fc{B+NXL&͏7`,^}:7pZU*ArИR$HhRYAOBc$Tec3CLrP7ُ?wp;X4sȘ4KTY0K +@sx|מ?}{OgZj \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/3ce131f939827b2e5497d284a322cd1ac029cb b/src/test/resources/_git_of_git_commit_id/objects/e3/3ce131f939827b2e5497d284a322cd1ac029cb new file mode 100644 index 0000000..64dc1fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/3ce131f939827b2e5497d284a322cd1ac029cb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/44d4c521bc5fd307985ecb388165c3738ae9d2 b/src/test/resources/_git_of_git_commit_id/objects/e3/44d4c521bc5fd307985ecb388165c3738ae9d2 new file mode 100644 index 0000000..9ab457f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/44d4c521bc5fd307985ecb388165c3738ae9d2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/55b42d642d414a88b3a66223e1de2b33c768ed b/src/test/resources/_git_of_git_commit_id/objects/e3/55b42d642d414a88b3a66223e1de2b33c768ed new file mode 100644 index 0000000..1e8699f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/55b42d642d414a88b3a66223e1de2b33c768ed differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/6d4cb7a1e34a0e7f565f363495b931a8554114 b/src/test/resources/_git_of_git_commit_id/objects/e3/6d4cb7a1e34a0e7f565f363495b931a8554114 new file mode 100644 index 0000000..5823597 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/6d4cb7a1e34a0e7f565f363495b931a8554114 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/80204585fd9194e1a185fc655a0633aa571aa8 b/src/test/resources/_git_of_git_commit_id/objects/e3/80204585fd9194e1a185fc655a0633aa571aa8 new file mode 100644 index 0000000..5275fd1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/80204585fd9194e1a185fc655a0633aa571aa8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/caac2ffd7e783be102287f9e729e5209e29aa2 b/src/test/resources/_git_of_git_commit_id/objects/e3/caac2ffd7e783be102287f9e729e5209e29aa2 new file mode 100644 index 0000000..389ce0f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/caac2ffd7e783be102287f9e729e5209e29aa2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e3/ec8bf486c76d7ae32f9e4e3b531b4c97d2ccdd b/src/test/resources/_git_of_git_commit_id/objects/e3/ec8bf486c76d7ae32f9e4e3b531b4c97d2ccdd new file mode 100644 index 0000000..a4858ff Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e3/ec8bf486c76d7ae32f9e4e3b531b4c97d2ccdd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e4/17517c784bfce276c6d9db55644f74c256d9ac b/src/test/resources/_git_of_git_commit_id/objects/e4/17517c784bfce276c6d9db55644f74c256d9ac new file mode 100644 index 0000000..9537a08 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e4/17517c784bfce276c6d9db55644f74c256d9ac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e4/4374d4b722065bbd610632690ccb3b213f6435 b/src/test/resources/_git_of_git_commit_id/objects/e4/4374d4b722065bbd610632690ccb3b213f6435 new file mode 100644 index 0000000..3cdd657 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e4/4374d4b722065bbd610632690ccb3b213f6435 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e4/443de7e3ede0d0059efdcc1fb5f5ba8361d4db b/src/test/resources/_git_of_git_commit_id/objects/e4/443de7e3ede0d0059efdcc1fb5f5ba8361d4db new file mode 100644 index 0000000..a85d9a8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e4/443de7e3ede0d0059efdcc1fb5f5ba8361d4db differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e4/a0c225a6174994b713f8bc863f4391e2565818 b/src/test/resources/_git_of_git_commit_id/objects/e4/a0c225a6174994b713f8bc863f4391e2565818 new file mode 100644 index 0000000..6fef44f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e4/a0c225a6174994b713f8bc863f4391e2565818 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e4/c633464ada13bee9f2bb004ae6b131492f2581 b/src/test/resources/_git_of_git_commit_id/objects/e4/c633464ada13bee9f2bb004ae6b131492f2581 new file mode 100644 index 0000000..b43009f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e4/c633464ada13bee9f2bb004ae6b131492f2581 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e4/ee6bc485526135e55e218b32a73c643c36b318 b/src/test/resources/_git_of_git_commit_id/objects/e4/ee6bc485526135e55e218b32a73c643c36b318 new file mode 100644 index 0000000..141979e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e4/ee6bc485526135e55e218b32a73c643c36b318 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e5/30afebd3a120115fb5fc6331eab2c6c5d4deb4 b/src/test/resources/_git_of_git_commit_id/objects/e5/30afebd3a120115fb5fc6331eab2c6c5d4deb4 new file mode 100644 index 0000000..5ca20c4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e5/30afebd3a120115fb5fc6331eab2c6c5d4deb4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e5/4beb6d5e06e1fd27d1cc105814f3f8865a3e6f b/src/test/resources/_git_of_git_commit_id/objects/e5/4beb6d5e06e1fd27d1cc105814f3f8865a3e6f new file mode 100644 index 0000000..21cf239 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e5/4beb6d5e06e1fd27d1cc105814f3f8865a3e6f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e5/5c6b0f0b048fe723befb5f68afadced1da6702 b/src/test/resources/_git_of_git_commit_id/objects/e5/5c6b0f0b048fe723befb5f68afadced1da6702 new file mode 100644 index 0000000..e032ed7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e5/5c6b0f0b048fe723befb5f68afadced1da6702 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e5/9ced98d94b09ae9c0cc4c2b0a4cc3a1d105293 b/src/test/resources/_git_of_git_commit_id/objects/e5/9ced98d94b09ae9c0cc4c2b0a4cc3a1d105293 new file mode 100644 index 0000000..6afbf65 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e5/9ced98d94b09ae9c0cc4c2b0a4cc3a1d105293 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e5/ab9a6c3a06107933c4902e1cdfe01b879fd9ac b/src/test/resources/_git_of_git_commit_id/objects/e5/ab9a6c3a06107933c4902e1cdfe01b879fd9ac new file mode 100644 index 0000000..604bfd6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e5/ab9a6c3a06107933c4902e1cdfe01b879fd9ac differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e5/f3902cdb3019d801966ea9e9b68c19cb4d8fa1 b/src/test/resources/_git_of_git_commit_id/objects/e5/f3902cdb3019d801966ea9e9b68c19cb4d8fa1 new file mode 100644 index 0000000..cb0435c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e5/f3902cdb3019d801966ea9e9b68c19cb4d8fa1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e6/9972a7ade9d288d9909f52e949c6e22455008e b/src/test/resources/_git_of_git_commit_id/objects/e6/9972a7ade9d288d9909f52e949c6e22455008e new file mode 100644 index 0000000..729b4b6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e6/9972a7ade9d288d9909f52e949c6e22455008e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 b/src/test/resources/_git_of_git_commit_id/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 new file mode 100644 index 0000000..7112238 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e6/cb0b22acb931bf331c591583bc476f51fdd018 b/src/test/resources/_git_of_git_commit_id/objects/e6/cb0b22acb931bf331c591583bc476f51fdd018 new file mode 100644 index 0000000..8cff925 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e6/cb0b22acb931bf331c591583bc476f51fdd018 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e6/d7011ac6f60db92721ded0058cf942bb96ac76 b/src/test/resources/_git_of_git_commit_id/objects/e6/d7011ac6f60db92721ded0058cf942bb96ac76 new file mode 100644 index 0000000..04fbfa7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e6/d7011ac6f60db92721ded0058cf942bb96ac76 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e7/15e106e80fefc6e09a006d00d1dab02c47c809 b/src/test/resources/_git_of_git_commit_id/objects/e7/15e106e80fefc6e09a006d00d1dab02c47c809 new file mode 100644 index 0000000..13ce515 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e7/15e106e80fefc6e09a006d00d1dab02c47c809 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e7/2625b1bd8008feeb32244dcf02e3392b017a2b b/src/test/resources/_git_of_git_commit_id/objects/e7/2625b1bd8008feeb32244dcf02e3392b017a2b new file mode 100644 index 0000000..2b35e29 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e7/2625b1bd8008feeb32244dcf02e3392b017a2b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e7/758a23ccf2271afc4702888562ee5bef5cb5ee b/src/test/resources/_git_of_git_commit_id/objects/e7/758a23ccf2271afc4702888562ee5bef5cb5ee new file mode 100644 index 0000000..025b69b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e7/758a23ccf2271afc4702888562ee5bef5cb5ee differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e7/a1e817341a1d8c959ffe205a0fa064188ac368 b/src/test/resources/_git_of_git_commit_id/objects/e7/a1e817341a1d8c959ffe205a0fa064188ac368 new file mode 100644 index 0000000..8d5542f --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/e7/a1e817341a1d8c959ffe205a0fa064188ac368 @@ -0,0 +1 @@ +xMj@ @ڇ41})Qd:=f<-7->iZ5ҾP11ɂ>)KWHeϙ<E=w9E엲^c'[*\we_<4ץi 鴌/RJĉN/U( 2T8'\Gw^/ĚW \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/e7/e4832bf57f3d1fec248246951bb8618f29fa86 b/src/test/resources/_git_of_git_commit_id/objects/e7/e4832bf57f3d1fec248246951bb8618f29fa86 new file mode 100644 index 0000000..f007dce Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e7/e4832bf57f3d1fec248246951bb8618f29fa86 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e8/64dd23b49ac6941ec102967a44478159318a45 b/src/test/resources/_git_of_git_commit_id/objects/e8/64dd23b49ac6941ec102967a44478159318a45 new file mode 100644 index 0000000..39e9f11 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e8/64dd23b49ac6941ec102967a44478159318a45 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e8/785cceaac786e13bd0dbaf3118f12ed032a369 b/src/test/resources/_git_of_git_commit_id/objects/e8/785cceaac786e13bd0dbaf3118f12ed032a369 new file mode 100644 index 0000000..8bca0ab --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/e8/785cceaac786e13bd0dbaf3118f12ed032a369 @@ -0,0 +1,2 @@ +xj0D{W,dI,(Rz5ki(%#o f|Ġuča]/(-j{AC4k0ĀQ,ب0q֑3t·LtHQ*3j%Ɨ૖1N ަ8ciJ;}X;tZg4H%Lo%q [mϺ{-Ra:7SW;ZL1g|kBp +F:__p \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/e8/920e3e54215ab8970e30f3f2924e0d0e00c605 b/src/test/resources/_git_of_git_commit_id/objects/e8/920e3e54215ab8970e30f3f2924e0d0e00c605 new file mode 100644 index 0000000..113c439 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e8/920e3e54215ab8970e30f3f2924e0d0e00c605 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e8/930934a1d3107cff0221c23fe5757b362ec25a b/src/test/resources/_git_of_git_commit_id/objects/e8/930934a1d3107cff0221c23fe5757b362ec25a new file mode 100644 index 0000000..27142bf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e8/930934a1d3107cff0221c23fe5757b362ec25a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e8/e3ee8d3faf96137cc9dc03dc54872304fb9b58 b/src/test/resources/_git_of_git_commit_id/objects/e8/e3ee8d3faf96137cc9dc03dc54872304fb9b58 new file mode 100644 index 0000000..829133b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e8/e3ee8d3faf96137cc9dc03dc54872304fb9b58 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e9/7e75e1c4802585e9baa9434d17e87fa7359d33 b/src/test/resources/_git_of_git_commit_id/objects/e9/7e75e1c4802585e9baa9434d17e87fa7359d33 new file mode 100644 index 0000000..bc6a260 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e9/7e75e1c4802585e9baa9434d17e87fa7359d33 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e9/90bfa02360ab82c96afb70710e91fc3feb8344 b/src/test/resources/_git_of_git_commit_id/objects/e9/90bfa02360ab82c96afb70710e91fc3feb8344 new file mode 100644 index 0000000..043e5a6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e9/90bfa02360ab82c96afb70710e91fc3feb8344 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/e9/f84eac3dc03b8568bbbcb8ffdc044b9569a4d2 b/src/test/resources/_git_of_git_commit_id/objects/e9/f84eac3dc03b8568bbbcb8ffdc044b9569a4d2 new file mode 100644 index 0000000..4e60352 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/e9/f84eac3dc03b8568bbbcb8ffdc044b9569a4d2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ea/2668c79e9410f97da99cdd94f8309aef024b32 b/src/test/resources/_git_of_git_commit_id/objects/ea/2668c79e9410f97da99cdd94f8309aef024b32 new file mode 100644 index 0000000..322fddc --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/ea/2668c79e9410f97da99cdd94f8309aef024b32 @@ -0,0 +1,4 @@ +xMj@oW[B!xLG׏ A6->˺&!TBTM1pd +G`+S43 +#Ud!Rʑyssh{ۖykޕQ_{75g3",xTT2 vI +#c-RV$&t>)!j \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/ea/6683aafecb80f47eec602176aeb01da78b53c7 b/src/test/resources/_git_of_git_commit_id/objects/ea/6683aafecb80f47eec602176aeb01da78b53c7 new file mode 100644 index 0000000..48b0446 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ea/6683aafecb80f47eec602176aeb01da78b53c7 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ea/aa14d2eab113ec895ae49a300aa54b7a6dc14c b/src/test/resources/_git_of_git_commit_id/objects/ea/aa14d2eab113ec895ae49a300aa54b7a6dc14c new file mode 100644 index 0000000..ba389c6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ea/aa14d2eab113ec895ae49a300aa54b7a6dc14c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ea/ab5801e88594f838ba5f78ab1ef800116f0f29 b/src/test/resources/_git_of_git_commit_id/objects/ea/ab5801e88594f838ba5f78ab1ef800116f0f29 new file mode 100644 index 0000000..806678e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ea/ab5801e88594f838ba5f78ab1ef800116f0f29 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ea/ae5cb5ce07823e6ad59c41e1d39edd6fdc0fa8 b/src/test/resources/_git_of_git_commit_id/objects/ea/ae5cb5ce07823e6ad59c41e1d39edd6fdc0fa8 new file mode 100644 index 0000000..da4f948 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ea/ae5cb5ce07823e6ad59c41e1d39edd6fdc0fa8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/3d46e96478030a4daf49018be968de74a89057 b/src/test/resources/_git_of_git_commit_id/objects/eb/3d46e96478030a4daf49018be968de74a89057 new file mode 100644 index 0000000..426b3c7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/3d46e96478030a4daf49018be968de74a89057 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/49d6a8ad5b9ec5dcea67f71cfb5ae9b37b5a82 b/src/test/resources/_git_of_git_commit_id/objects/eb/49d6a8ad5b9ec5dcea67f71cfb5ae9b37b5a82 new file mode 100644 index 0000000..e07b306 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/49d6a8ad5b9ec5dcea67f71cfb5ae9b37b5a82 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/576e5a117e8fa463d913217100cb5aade67296 b/src/test/resources/_git_of_git_commit_id/objects/eb/576e5a117e8fa463d913217100cb5aade67296 new file mode 100644 index 0000000..45f1f4f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/576e5a117e8fa463d913217100cb5aade67296 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/93e9407d902ec9e14847fffa1b816d6294ce17 b/src/test/resources/_git_of_git_commit_id/objects/eb/93e9407d902ec9e14847fffa1b816d6294ce17 new file mode 100644 index 0000000..bedc4d3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/93e9407d902ec9e14847fffa1b816d6294ce17 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/c3a2311ece24a8baed39dfa07ccbc3597fa6da b/src/test/resources/_git_of_git_commit_id/objects/eb/c3a2311ece24a8baed39dfa07ccbc3597fa6da new file mode 100644 index 0000000..7321b87 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/c3a2311ece24a8baed39dfa07ccbc3597fa6da differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/cf283c7e7684107a8f87bf8830f40ba13a9356 b/src/test/resources/_git_of_git_commit_id/objects/eb/cf283c7e7684107a8f87bf8830f40ba13a9356 new file mode 100644 index 0000000..1d370e6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/cf283c7e7684107a8f87bf8830f40ba13a9356 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/eb/e574347f0749396d82586a0279d801b7cb6471 b/src/test/resources/_git_of_git_commit_id/objects/eb/e574347f0749396d82586a0279d801b7cb6471 new file mode 100644 index 0000000..3f57423 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/eb/e574347f0749396d82586a0279d801b7cb6471 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ec/17ec1939b7c3e86b7cb6c0c4de6b0818a7e75e b/src/test/resources/_git_of_git_commit_id/objects/ec/17ec1939b7c3e86b7cb6c0c4de6b0818a7e75e new file mode 100644 index 0000000..d7558de --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/ec/17ec1939b7c3e86b7cb6c0c4de6b0818a7e75e @@ -0,0 +1,2 @@ +x-K0P9E [rK&0H +Ȥ&7~]/q\!vyrqִ0&א &HʉAHM +bo.NA&$RQ%3'LVKvAI'YPSRxZZ>^wkW[kź_wJ %.\rN=smu^I0Z*B;MY> \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/20fdaa20e4c28ef0c5e1716fa3a34576d23abf b/src/test/resources/_git_of_git_commit_id/objects/ee/20fdaa20e4c28ef0c5e1716fa3a34576d23abf new file mode 100644 index 0000000..9d5e2b3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/20fdaa20e4c28ef0c5e1716fa3a34576d23abf differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/40d6641293d786804698445f90cc4775d53069 b/src/test/resources/_git_of_git_commit_id/objects/ee/40d6641293d786804698445f90cc4775d53069 new file mode 100644 index 0000000..9967dd2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/40d6641293d786804698445f90cc4775d53069 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/495f441514496c6a7b7b814b52f6ee6c5eb02e b/src/test/resources/_git_of_git_commit_id/objects/ee/495f441514496c6a7b7b814b52f6ee6c5eb02e new file mode 100644 index 0000000..4411135 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/495f441514496c6a7b7b814b52f6ee6c5eb02e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/772986acc64f62063909463024747ec74d90cc b/src/test/resources/_git_of_git_commit_id/objects/ee/772986acc64f62063909463024747ec74d90cc new file mode 100644 index 0000000..9257bfb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/772986acc64f62063909463024747ec74d90cc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/7f7df2ab44630b4de4f229733befdad04b6c9b b/src/test/resources/_git_of_git_commit_id/objects/ee/7f7df2ab44630b4de4f229733befdad04b6c9b new file mode 100644 index 0000000..2d34a65 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/7f7df2ab44630b4de4f229733befdad04b6c9b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/96742d37f37abb3c30704cff36ce72712ae546 b/src/test/resources/_git_of_git_commit_id/objects/ee/96742d37f37abb3c30704cff36ce72712ae546 new file mode 100644 index 0000000..2cb0b90 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/96742d37f37abb3c30704cff36ce72712ae546 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ee/f81dbd87623b2f879df89237c9d7177e7bb3a1 b/src/test/resources/_git_of_git_commit_id/objects/ee/f81dbd87623b2f879df89237c9d7177e7bb3a1 new file mode 100644 index 0000000..2af8d6e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ee/f81dbd87623b2f879df89237c9d7177e7bb3a1 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ef/4b960b6cde0a544b5526ef667e8ba733d692c9 b/src/test/resources/_git_of_git_commit_id/objects/ef/4b960b6cde0a544b5526ef667e8ba733d692c9 new file mode 100644 index 0000000..6fa08fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ef/4b960b6cde0a544b5526ef667e8ba733d692c9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ef/77aadcc13d8b5d84295036f5a76d53a573e48e b/src/test/resources/_git_of_git_commit_id/objects/ef/77aadcc13d8b5d84295036f5a76d53a573e48e new file mode 100644 index 0000000..a81e695 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ef/77aadcc13d8b5d84295036f5a76d53a573e48e differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ef/855eecb36b725295be1d6132adeb57c34c93af b/src/test/resources/_git_of_git_commit_id/objects/ef/855eecb36b725295be1d6132adeb57c34c93af new file mode 100644 index 0000000..9edf9fc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ef/855eecb36b725295be1d6132adeb57c34c93af differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ef/8f6e59521f7da6cb4003351ce34bd441415478 b/src/test/resources/_git_of_git_commit_id/objects/ef/8f6e59521f7da6cb4003351ce34bd441415478 new file mode 100644 index 0000000..724eb4e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ef/8f6e59521f7da6cb4003351ce34bd441415478 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ef/bb307b35d2345ebde29729c741dceb64abaec2 b/src/test/resources/_git_of_git_commit_id/objects/ef/bb307b35d2345ebde29729c741dceb64abaec2 new file mode 100644 index 0000000..2add0fb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ef/bb307b35d2345ebde29729c741dceb64abaec2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/ef/e45ff3af228b1becdc5022d6485627ccdc1e97 b/src/test/resources/_git_of_git_commit_id/objects/ef/e45ff3af228b1becdc5022d6485627ccdc1e97 new file mode 100644 index 0000000..84b5a42 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/ef/e45ff3af228b1becdc5022d6485627ccdc1e97 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/07dce41fff71e2d1cc354a60d34f90530cfcb2 b/src/test/resources/_git_of_git_commit_id/objects/f0/07dce41fff71e2d1cc354a60d34f90530cfcb2 new file mode 100644 index 0000000..fdb81d6 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/07dce41fff71e2d1cc354a60d34f90530cfcb2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/1a3591881f39bb997af644730425f18751d147 b/src/test/resources/_git_of_git_commit_id/objects/f0/1a3591881f39bb997af644730425f18751d147 new file mode 100644 index 0000000..0a56c5e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/1a3591881f39bb997af644730425f18751d147 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/510fda84b9a3ad8b468365deb2cd297ecddd83 b/src/test/resources/_git_of_git_commit_id/objects/f0/510fda84b9a3ad8b468365deb2cd297ecddd83 new file mode 100644 index 0000000..fcc2ba7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/510fda84b9a3ad8b468365deb2cd297ecddd83 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/897fccaf88a07df31b47cf46e654eaec908b6b b/src/test/resources/_git_of_git_commit_id/objects/f0/897fccaf88a07df31b47cf46e654eaec908b6b new file mode 100644 index 0000000..c8b37c0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/897fccaf88a07df31b47cf46e654eaec908b6b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/93a02ec49918ab15e920f455979fd5ed732cf6 b/src/test/resources/_git_of_git_commit_id/objects/f0/93a02ec49918ab15e920f455979fd5ed732cf6 new file mode 100644 index 0000000..ed34686 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/93a02ec49918ab15e920f455979fd5ed732cf6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/9699561fbc8342ae232f63685b4e5bfb4ac69d b/src/test/resources/_git_of_git_commit_id/objects/f0/9699561fbc8342ae232f63685b4e5bfb4ac69d new file mode 100644 index 0000000..b0b353c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/9699561fbc8342ae232f63685b4e5bfb4ac69d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/a09ac73e806f5332daf14137ef82ac5f54dc92 b/src/test/resources/_git_of_git_commit_id/objects/f0/a09ac73e806f5332daf14137ef82ac5f54dc92 new file mode 100644 index 0000000..667f5b9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/a09ac73e806f5332daf14137ef82ac5f54dc92 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/c5ac406ddde0a45a885e0ebb7eed15252d487a b/src/test/resources/_git_of_git_commit_id/objects/f0/c5ac406ddde0a45a885e0ebb7eed15252d487a new file mode 100644 index 0000000..b6aef78 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/c5ac406ddde0a45a885e0ebb7eed15252d487a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/c80d711a1af8019372798c89c4d7862d667887 b/src/test/resources/_git_of_git_commit_id/objects/f0/c80d711a1af8019372798c89c4d7862d667887 new file mode 100644 index 0000000..0ec9464 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/c80d711a1af8019372798c89c4d7862d667887 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f0/fc69190daa525f25e6e01a1d5c7a60ecf644fb b/src/test/resources/_git_of_git_commit_id/objects/f0/fc69190daa525f25e6e01a1d5c7a60ecf644fb new file mode 100644 index 0000000..cf2307b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f0/fc69190daa525f25e6e01a1d5c7a60ecf644fb differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/06eb41aa152326861ee4d3fbecf7911d406293 b/src/test/resources/_git_of_git_commit_id/objects/f1/06eb41aa152326861ee4d3fbecf7911d406293 new file mode 100644 index 0000000..04677c9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/06eb41aa152326861ee4d3fbecf7911d406293 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/364b47e92f7e44b560a28537a3d612bd19d7f5 b/src/test/resources/_git_of_git_commit_id/objects/f1/364b47e92f7e44b560a28537a3d612bd19d7f5 new file mode 100644 index 0000000..8397175 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/364b47e92f7e44b560a28537a3d612bd19d7f5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/462294e177516a6a9e7405ac288b67537743af b/src/test/resources/_git_of_git_commit_id/objects/f1/462294e177516a6a9e7405ac288b67537743af new file mode 100644 index 0000000..92337cc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/462294e177516a6a9e7405ac288b67537743af differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/580fc6536427a86d7b884a945f7bdcd2fdabe6 b/src/test/resources/_git_of_git_commit_id/objects/f1/580fc6536427a86d7b884a945f7bdcd2fdabe6 new file mode 100644 index 0000000..5f5d291 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/580fc6536427a86d7b884a945f7bdcd2fdabe6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/959024cb8ff06e425f498e5b3201186d1407d9 b/src/test/resources/_git_of_git_commit_id/objects/f1/959024cb8ff06e425f498e5b3201186d1407d9 new file mode 100644 index 0000000..f1026e8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/959024cb8ff06e425f498e5b3201186d1407d9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/c7068961c049afbe556b84a3e369237beba898 b/src/test/resources/_git_of_git_commit_id/objects/f1/c7068961c049afbe556b84a3e369237beba898 new file mode 100644 index 0000000..68b4ec1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/c7068961c049afbe556b84a3e369237beba898 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f1/fe3fa0accb801ca343d2e2b1f80f53c8101d62 b/src/test/resources/_git_of_git_commit_id/objects/f1/fe3fa0accb801ca343d2e2b1f80f53c8101d62 new file mode 100644 index 0000000..7a0121f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f1/fe3fa0accb801ca343d2e2b1f80f53c8101d62 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/14827a4d0e2ba742d603eeb34674a081447692 b/src/test/resources/_git_of_git_commit_id/objects/f2/14827a4d0e2ba742d603eeb34674a081447692 new file mode 100644 index 0000000..113cbed Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/14827a4d0e2ba742d603eeb34674a081447692 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/38a51a0c4dbfba0ca1087496670b2a3e1c1a4c b/src/test/resources/_git_of_git_commit_id/objects/f2/38a51a0c4dbfba0ca1087496670b2a3e1c1a4c new file mode 100644 index 0000000..a90fe27 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/38a51a0c4dbfba0ca1087496670b2a3e1c1a4c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/39047c869f91aa868067a47a74bd0186b341dd b/src/test/resources/_git_of_git_commit_id/objects/f2/39047c869f91aa868067a47a74bd0186b341dd new file mode 100644 index 0000000..91d5b89 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/39047c869f91aa868067a47a74bd0186b341dd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/45286dba79a0c14edc7a241d1731ee10fe0a76 b/src/test/resources/_git_of_git_commit_id/objects/f2/45286dba79a0c14edc7a241d1731ee10fe0a76 new file mode 100644 index 0000000..a703825 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/45286dba79a0c14edc7a241d1731ee10fe0a76 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/62ace077c7f679aa7cd1d69a5b2fff9e94decc b/src/test/resources/_git_of_git_commit_id/objects/f2/62ace077c7f679aa7cd1d69a5b2fff9e94decc new file mode 100644 index 0000000..8443480 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/f2/62ace077c7f679aa7cd1d69a5b2fff9e94decc @@ -0,0 +1 @@ +xAJ1E]nU*I ".wztg&2bܽm] |5:@N5섗$FWts)Y6Ա byUBD^$Ns !zHYL-'Yw̳-f15{ 2%*_\S7i.RN2T3 \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/64cf7352b7cfa7981a0e3e087d505601b8bb9c b/src/test/resources/_git_of_git_commit_id/objects/f2/64cf7352b7cfa7981a0e3e087d505601b8bb9c new file mode 100644 index 0000000..230d241 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/64cf7352b7cfa7981a0e3e087d505601b8bb9c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/6cd2962455fe7d27732cce04af7c0c8ab4e5af b/src/test/resources/_git_of_git_commit_id/objects/f2/6cd2962455fe7d27732cce04af7c0c8ab4e5af new file mode 100644 index 0000000..704c053 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/6cd2962455fe7d27732cce04af7c0c8ab4e5af differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/869f6edff53abbc9dda8f1ce808db3e68fe73d b/src/test/resources/_git_of_git_commit_id/objects/f2/869f6edff53abbc9dda8f1ce808db3e68fe73d new file mode 100644 index 0000000..46526f0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/869f6edff53abbc9dda8f1ce808db3e68fe73d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/9fcb4b71bd221b4f05db6eacd17afd17657a45 b/src/test/resources/_git_of_git_commit_id/objects/f2/9fcb4b71bd221b4f05db6eacd17afd17657a45 new file mode 100644 index 0000000..5611c45 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/9fcb4b71bd221b4f05db6eacd17afd17657a45 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/a87255f5858d2d135b90e42b55e62fe6b078a6 b/src/test/resources/_git_of_git_commit_id/objects/f2/a87255f5858d2d135b90e42b55e62fe6b078a6 new file mode 100644 index 0000000..5faef15 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/a87255f5858d2d135b90e42b55e62fe6b078a6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/c1d894f22a15656a1eb04a9f822a7896c6539a b/src/test/resources/_git_of_git_commit_id/objects/f2/c1d894f22a15656a1eb04a9f822a7896c6539a new file mode 100644 index 0000000..3a971be Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/c1d894f22a15656a1eb04a9f822a7896c6539a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f2/db0f94ef8d7d9ce6402462f83127f6310fa858 b/src/test/resources/_git_of_git_commit_id/objects/f2/db0f94ef8d7d9ce6402462f83127f6310fa858 new file mode 100644 index 0000000..cf32f7f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f2/db0f94ef8d7d9ce6402462f83127f6310fa858 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/060efaa5c7ba6be9baf2e2ab4e9a6d8d3cedd5 b/src/test/resources/_git_of_git_commit_id/objects/f3/060efaa5c7ba6be9baf2e2ab4e9a6d8d3cedd5 new file mode 100644 index 0000000..0941907 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/060efaa5c7ba6be9baf2e2ab4e9a6d8d3cedd5 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/38c23a7679a4d59ee02542d5bda4cc13fb472b b/src/test/resources/_git_of_git_commit_id/objects/f3/38c23a7679a4d59ee02542d5bda4cc13fb472b new file mode 100644 index 0000000..18ebe7b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/38c23a7679a4d59ee02542d5bda4cc13fb472b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/4a44302f9fcdbf6e66c63be81249a5f9dd94a6 b/src/test/resources/_git_of_git_commit_id/objects/f3/4a44302f9fcdbf6e66c63be81249a5f9dd94a6 new file mode 100644 index 0000000..b8ed7f2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/4a44302f9fcdbf6e66c63be81249a5f9dd94a6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/9fa98d70c33c9c1c9e90b4aef0ea54dd651bea b/src/test/resources/_git_of_git_commit_id/objects/f3/9fa98d70c33c9c1c9e90b4aef0ea54dd651bea new file mode 100644 index 0000000..d1b4aa4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/9fa98d70c33c9c1c9e90b4aef0ea54dd651bea differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/a901ca6a59164f4a732bbd6dcc83692fe7fe67 b/src/test/resources/_git_of_git_commit_id/objects/f3/a901ca6a59164f4a732bbd6dcc83692fe7fe67 new file mode 100644 index 0000000..9d6f930 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/a901ca6a59164f4a732bbd6dcc83692fe7fe67 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/ac4899783d4312ecd7328f74cd5c49cc3b7a30 b/src/test/resources/_git_of_git_commit_id/objects/f3/ac4899783d4312ecd7328f74cd5c49cc3b7a30 new file mode 100644 index 0000000..d1043eb Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/ac4899783d4312ecd7328f74cd5c49cc3b7a30 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/d8ea2e582b349d7244812e2c6af73b0a5b0fe2 b/src/test/resources/_git_of_git_commit_id/objects/f3/d8ea2e582b349d7244812e2c6af73b0a5b0fe2 new file mode 100644 index 0000000..6c271de Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/d8ea2e582b349d7244812e2c6af73b0a5b0fe2 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f3/dadd80923ae063fab3baab511cdbcae5de2688 b/src/test/resources/_git_of_git_commit_id/objects/f3/dadd80923ae063fab3baab511cdbcae5de2688 new file mode 100644 index 0000000..f0ed6bf Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f3/dadd80923ae063fab3baab511cdbcae5de2688 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f4/30c41b6858f10a3aadd63042a2ee23cf9c023f b/src/test/resources/_git_of_git_commit_id/objects/f4/30c41b6858f10a3aadd63042a2ee23cf9c023f new file mode 100644 index 0000000..9bc3e21 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f4/30c41b6858f10a3aadd63042a2ee23cf9c023f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f4/5e31a3febe0d5b6d11c77c541b8770e7ba9688 b/src/test/resources/_git_of_git_commit_id/objects/f4/5e31a3febe0d5b6d11c77c541b8770e7ba9688 new file mode 100644 index 0000000..7a4078f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f4/5e31a3febe0d5b6d11c77c541b8770e7ba9688 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f4/96b9d3b136572828b04bdb7f24ec9e306e58e3 b/src/test/resources/_git_of_git_commit_id/objects/f4/96b9d3b136572828b04bdb7f24ec9e306e58e3 new file mode 100644 index 0000000..42d81f3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f4/96b9d3b136572828b04bdb7f24ec9e306e58e3 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/16f69d4b5bdd6af3ac460cc86c0d08b4234b67 b/src/test/resources/_git_of_git_commit_id/objects/f5/16f69d4b5bdd6af3ac460cc86c0d08b4234b67 new file mode 100644 index 0000000..9f451e3 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/16f69d4b5bdd6af3ac460cc86c0d08b4234b67 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/519b06ed47722153cb47d5d793a100bf9030fc b/src/test/resources/_git_of_git_commit_id/objects/f5/519b06ed47722153cb47d5d793a100bf9030fc new file mode 100644 index 0000000..c5e4998 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/f5/519b06ed47722153cb47d5d793a100bf9030fc @@ -0,0 +1 @@ +x+)JMU06a040031QM,.I-bxbGwyEuf+l \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/5e1191e1056c61c8800a76c12bd5525254c941 b/src/test/resources/_git_of_git_commit_id/objects/f5/5e1191e1056c61c8800a76c12bd5525254c941 new file mode 100644 index 0000000..579676c Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/5e1191e1056c61c8800a76c12bd5525254c941 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/65f024715a8433b4fcbcbe50834f48f7355f59 b/src/test/resources/_git_of_git_commit_id/objects/f5/65f024715a8433b4fcbcbe50834f48f7355f59 new file mode 100644 index 0000000..1ba389d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/f5/65f024715a8433b4fcbcbe50834f48f7355f59 @@ -0,0 +1 @@ +xKOR01g` 50K20d`jsd:WI8]fY \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/68872c40956adae6c8aab116dc1ca94fcc46cc b/src/test/resources/_git_of_git_commit_id/objects/f5/68872c40956adae6c8aab116dc1ca94fcc46cc new file mode 100644 index 0000000..08e27d1 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/68872c40956adae6c8aab116dc1ca94fcc46cc differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/6ee2779f6fc7919eef7bb96c221c72969dd754 b/src/test/resources/_git_of_git_commit_id/objects/f5/6ee2779f6fc7919eef7bb96c221c72969dd754 new file mode 100644 index 0000000..eae4ef2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/6ee2779f6fc7919eef7bb96c221c72969dd754 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/a0df6c0dd48424dafe77ce55e7a90aff40f396 b/src/test/resources/_git_of_git_commit_id/objects/f5/a0df6c0dd48424dafe77ce55e7a90aff40f396 new file mode 100644 index 0000000..06ce46d Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/a0df6c0dd48424dafe77ce55e7a90aff40f396 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/a7b8bcf1cc4f035a8272e640b2ddc1334d80da b/src/test/resources/_git_of_git_commit_id/objects/f5/a7b8bcf1cc4f035a8272e640b2ddc1334d80da new file mode 100644 index 0000000..12b6a95 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/a7b8bcf1cc4f035a8272e640b2ddc1334d80da differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f5/befe99a9f11ac34630cf7736bf45cad6e2fa3f b/src/test/resources/_git_of_git_commit_id/objects/f5/befe99a9f11ac34630cf7736bf45cad6e2fa3f new file mode 100644 index 0000000..94d24dd Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f5/befe99a9f11ac34630cf7736bf45cad6e2fa3f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/0239b5d6503a464c414c09c1de3c3200a2b274 b/src/test/resources/_git_of_git_commit_id/objects/f6/0239b5d6503a464c414c09c1de3c3200a2b274 new file mode 100644 index 0000000..ef77aad Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/0239b5d6503a464c414c09c1de3c3200a2b274 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/0ea1d8a2d7069570567fbd472d0b3da66f8392 b/src/test/resources/_git_of_git_commit_id/objects/f6/0ea1d8a2d7069570567fbd472d0b3da66f8392 new file mode 100644 index 0000000..9e5f504 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/0ea1d8a2d7069570567fbd472d0b3da66f8392 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/32dc9912cded2390dd81ff7a5036422230b91c b/src/test/resources/_git_of_git_commit_id/objects/f6/32dc9912cded2390dd81ff7a5036422230b91c new file mode 100644 index 0000000..b9a1bef Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/32dc9912cded2390dd81ff7a5036422230b91c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/58a2445d19e361c6ff96fb382d96550ed47b11 b/src/test/resources/_git_of_git_commit_id/objects/f6/58a2445d19e361c6ff96fb382d96550ed47b11 new file mode 100644 index 0000000..81f535a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/58a2445d19e361c6ff96fb382d96550ed47b11 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/6b8a49815ade76e4adb29ed3b58fe2663565fa b/src/test/resources/_git_of_git_commit_id/objects/f6/6b8a49815ade76e4adb29ed3b58fe2663565fa new file mode 100644 index 0000000..a4b7f29 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/6b8a49815ade76e4adb29ed3b58fe2663565fa differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/76b81c9469368ea947b3e3ed1baca0a51e802b b/src/test/resources/_git_of_git_commit_id/objects/f6/76b81c9469368ea947b3e3ed1baca0a51e802b new file mode 100644 index 0000000..997496f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/76b81c9469368ea947b3e3ed1baca0a51e802b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/77d7903560409973d90613a3a1afe8de5b477f b/src/test/resources/_git_of_git_commit_id/objects/f6/77d7903560409973d90613a3a1afe8de5b477f new file mode 100644 index 0000000..0c95cbc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/77d7903560409973d90613a3a1afe8de5b477f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/812b1467492f6dd04c6e2b06b90f07c560ab98 b/src/test/resources/_git_of_git_commit_id/objects/f6/812b1467492f6dd04c6e2b06b90f07c560ab98 new file mode 100644 index 0000000..7836861 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/812b1467492f6dd04c6e2b06b90f07c560ab98 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f6/bbc8b4097673e8f43fbc6385dd6cdf754a5fe8 b/src/test/resources/_git_of_git_commit_id/objects/f6/bbc8b4097673e8f43fbc6385dd6cdf754a5fe8 new file mode 100644 index 0000000..6d0b7ff Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f6/bbc8b4097673e8f43fbc6385dd6cdf754a5fe8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f7/696f983773a51d208c600efd0869b1643da6e6 b/src/test/resources/_git_of_git_commit_id/objects/f7/696f983773a51d208c600efd0869b1643da6e6 new file mode 100644 index 0000000..07c4d40 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f7/696f983773a51d208c600efd0869b1643da6e6 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f7/bccaa613f2ef96e1a2f375d96e006382632278 b/src/test/resources/_git_of_git_commit_id/objects/f7/bccaa613f2ef96e1a2f375d96e006382632278 new file mode 100644 index 0000000..443fac4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f7/bccaa613f2ef96e1a2f375d96e006382632278 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f8/5a69a4755bfe3e0182c032f7209480e6f79472 b/src/test/resources/_git_of_git_commit_id/objects/f8/5a69a4755bfe3e0182c032f7209480e6f79472 new file mode 100644 index 0000000..9c06be7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f8/5a69a4755bfe3e0182c032f7209480e6f79472 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f8/898de9682c68ba6516e5749df4aa258ad78c16 b/src/test/resources/_git_of_git_commit_id/objects/f8/898de9682c68ba6516e5749df4aa258ad78c16 new file mode 100644 index 0000000..9234547 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f8/898de9682c68ba6516e5749df4aa258ad78c16 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f8/a4306a5dee6c2accaae52508f218a9167af51d b/src/test/resources/_git_of_git_commit_id/objects/f8/a4306a5dee6c2accaae52508f218a9167af51d new file mode 100644 index 0000000..f9d2306 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f8/a4306a5dee6c2accaae52508f218a9167af51d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f8/b02dc6d67acf7c301074c6b10c475021ade8b8 b/src/test/resources/_git_of_git_commit_id/objects/f8/b02dc6d67acf7c301074c6b10c475021ade8b8 new file mode 100644 index 0000000..bf62655 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f8/b02dc6d67acf7c301074c6b10c475021ade8b8 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f8/c968f29669d0f28f3eb4ca38447d496091670d b/src/test/resources/_git_of_git_commit_id/objects/f8/c968f29669d0f28f3eb4ca38447d496091670d new file mode 100644 index 0000000..e910ddc Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f8/c968f29669d0f28f3eb4ca38447d496091670d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f9/5964c02a1219f9acc53c08a90f99ff9ad73f15 b/src/test/resources/_git_of_git_commit_id/objects/f9/5964c02a1219f9acc53c08a90f99ff9ad73f15 new file mode 100644 index 0000000..98a05ec Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f9/5964c02a1219f9acc53c08a90f99ff9ad73f15 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/f9/597b2f0b581bcf5c1dd435b81cd6e09e5c621f b/src/test/resources/_git_of_git_commit_id/objects/f9/597b2f0b581bcf5c1dd435b81cd6e09e5c621f new file mode 100644 index 0000000..56ef8f8 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/f9/597b2f0b581bcf5c1dd435b81cd6e09e5c621f @@ -0,0 +1,2 @@ +xKN1DY[B} ӆ!'p|&7`[RUJJK7` +#q1D/a08?D*7P#dFOɘh% 0)Xr^xi=8๶%k: 48nàk}U,^> F,WYKM7e{澔~d+ \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/f9/6cf4325afded7a4694fd6f54268eefcea89239 b/src/test/resources/_git_of_git_commit_id/objects/f9/6cf4325afded7a4694fd6f54268eefcea89239 new file mode 100644 index 0000000..97e0534 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/f9/6cf4325afded7a4694fd6f54268eefcea89239 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fa/3faf8401f63eae52d66a1b39dea0206256a5f9 b/src/test/resources/_git_of_git_commit_id/objects/fa/3faf8401f63eae52d66a1b39dea0206256a5f9 new file mode 100644 index 0000000..d790c40 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fa/3faf8401f63eae52d66a1b39dea0206256a5f9 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fa/454b11da2bd14f95894f1ebed2fe4f6de0d1fd b/src/test/resources/_git_of_git_commit_id/objects/fa/454b11da2bd14f95894f1ebed2fe4f6de0d1fd new file mode 100644 index 0000000..4f92159 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fa/454b11da2bd14f95894f1ebed2fe4f6de0d1fd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fa/b366bacfbc3b7fdfd65511914c362b217e3a68 b/src/test/resources/_git_of_git_commit_id/objects/fa/b366bacfbc3b7fdfd65511914c362b217e3a68 new file mode 100644 index 0000000..08fe17d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/fa/b366bacfbc3b7fdfd65511914c362b217e3a68 @@ -0,0 +1 @@ +x+)JMU046b040031Q01345L275H654L333LM37JL26OL44JN1O53bS8-3gINpꑔ%3D˴TcSC$d3 # KD 3STSSc I|i{jڲt=3Q,f \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/fa/c04c16a285c4df514657373b5bef1a163df32b b/src/test/resources/_git_of_git_commit_id/objects/fa/c04c16a285c4df514657373b5bef1a163df32b new file mode 100644 index 0000000..f413d0b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fa/c04c16a285c4df514657373b5bef1a163df32b differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/300900c8a5367cf677268caeabae0058842951 b/src/test/resources/_git_of_git_commit_id/objects/fb/300900c8a5367cf677268caeabae0058842951 new file mode 100644 index 0000000..e05c7d8 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fb/300900c8a5367cf677268caeabae0058842951 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/41b832a1aea395b8fa1e6df8e892e700f32699 b/src/test/resources/_git_of_git_commit_id/objects/fb/41b832a1aea395b8fa1e6df8e892e700f32699 new file mode 100644 index 0000000..3e82eae Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fb/41b832a1aea395b8fa1e6df8e892e700f32699 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/444761aa76d03394439dfeb42bc77a154c2871 b/src/test/resources/_git_of_git_commit_id/objects/fb/444761aa76d03394439dfeb42bc77a154c2871 new file mode 100644 index 0000000..64db206 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/objects/fb/444761aa76d03394439dfeb42bc77a154c2871 @@ -0,0 +1,2 @@ +x5+O1@? $YB><14㶽`BzH0 1SUrf{ ͤo_w;-_T_x ).h2k3!eϐٴͫQTf \ No newline at end of file diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/65772849c61a386cf8e2f9f371a67a6fcd318c b/src/test/resources/_git_of_git_commit_id/objects/fb/65772849c61a386cf8e2f9f371a67a6fcd318c new file mode 100644 index 0000000..110a3b4 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fb/65772849c61a386cf8e2f9f371a67a6fcd318c differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/6829445fddc8d0d8ebbca2d619060258fd83db b/src/test/resources/_git_of_git_commit_id/objects/fb/6829445fddc8d0d8ebbca2d619060258fd83db new file mode 100644 index 0000000..2ed2c21 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fb/6829445fddc8d0d8ebbca2d619060258fd83db differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/b48c341250fce989b04f2cb3dcef794fc66408 b/src/test/resources/_git_of_git_commit_id/objects/fb/b48c341250fce989b04f2cb3dcef794fc66408 new file mode 100644 index 0000000..ac6adb7 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fb/b48c341250fce989b04f2cb3dcef794fc66408 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fb/c5fb32f27b17b0968341f3730420a7f5e3302d b/src/test/resources/_git_of_git_commit_id/objects/fb/c5fb32f27b17b0968341f3730420a7f5e3302d new file mode 100644 index 0000000..d415b3e Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fb/c5fb32f27b17b0968341f3730420a7f5e3302d differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fc/022f3f3a16fc869a7ce265bf923afcf9994103 b/src/test/resources/_git_of_git_commit_id/objects/fc/022f3f3a16fc869a7ce265bf923afcf9994103 new file mode 100644 index 0000000..5e57462 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fc/022f3f3a16fc869a7ce265bf923afcf9994103 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fc/817652953395f532930fc3716c65df962d99fd b/src/test/resources/_git_of_git_commit_id/objects/fc/817652953395f532930fc3716c65df962d99fd new file mode 100644 index 0000000..3e9e482 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fc/817652953395f532930fc3716c65df962d99fd differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fc/bb6b52a8d3c1834f7870968ca8d8457321b1c4 b/src/test/resources/_git_of_git_commit_id/objects/fc/bb6b52a8d3c1834f7870968ca8d8457321b1c4 new file mode 100644 index 0000000..1ac1bd9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fc/bb6b52a8d3c1834f7870968ca8d8457321b1c4 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fc/c2ba7f093b1fa6c39203c8e69053ce7bbd779f b/src/test/resources/_git_of_git_commit_id/objects/fc/c2ba7f093b1fa6c39203c8e69053ce7bbd779f new file mode 100644 index 0000000..232c9a2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fc/c2ba7f093b1fa6c39203c8e69053ce7bbd779f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fd/2bb7e79597bac9263cc84fbbccfd5a223264da b/src/test/resources/_git_of_git_commit_id/objects/fd/2bb7e79597bac9263cc84fbbccfd5a223264da new file mode 100644 index 0000000..2a14cf2 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fd/2bb7e79597bac9263cc84fbbccfd5a223264da differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fd/61a35c3def1a1892bd8534078527aa83dfc51f b/src/test/resources/_git_of_git_commit_id/objects/fd/61a35c3def1a1892bd8534078527aa83dfc51f new file mode 100644 index 0000000..b22ceee Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fd/61a35c3def1a1892bd8534078527aa83dfc51f differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fd/72c8adf0d9ec3b8acb2bc91b60d3ed814b3e23 b/src/test/resources/_git_of_git_commit_id/objects/fd/72c8adf0d9ec3b8acb2bc91b60d3ed814b3e23 new file mode 100644 index 0000000..f2a8725 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fd/72c8adf0d9ec3b8acb2bc91b60d3ed814b3e23 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fd/a0641066ff38971acd843983c3ecc1ed479387 b/src/test/resources/_git_of_git_commit_id/objects/fd/a0641066ff38971acd843983c3ecc1ed479387 new file mode 100644 index 0000000..c43e545 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fd/a0641066ff38971acd843983c3ecc1ed479387 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/0706daae8f978ab62343da79a6106d953ac374 b/src/test/resources/_git_of_git_commit_id/objects/fe/0706daae8f978ab62343da79a6106d953ac374 new file mode 100644 index 0000000..227cb9b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/0706daae8f978ab62343da79a6106d953ac374 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/08dde66de680d981116595d462cf07672ea029 b/src/test/resources/_git_of_git_commit_id/objects/fe/08dde66de680d981116595d462cf07672ea029 new file mode 100644 index 0000000..e177133 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/08dde66de680d981116595d462cf07672ea029 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/1744d94d4be11ccdccfd495305d2cd9fa4140a b/src/test/resources/_git_of_git_commit_id/objects/fe/1744d94d4be11ccdccfd495305d2cd9fa4140a new file mode 100644 index 0000000..c975a8b Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/1744d94d4be11ccdccfd495305d2cd9fa4140a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/56d1c3395ed1a3b1217e8f58d078656f7eed6a b/src/test/resources/_git_of_git_commit_id/objects/fe/56d1c3395ed1a3b1217e8f58d078656f7eed6a new file mode 100644 index 0000000..699d542 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/56d1c3395ed1a3b1217e8f58d078656f7eed6a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/66020473a5fb7982f47f8f277172905ae6e0ff b/src/test/resources/_git_of_git_commit_id/objects/fe/66020473a5fb7982f47f8f277172905ae6e0ff new file mode 100644 index 0000000..332b9d9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/66020473a5fb7982f47f8f277172905ae6e0ff differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/a1e355eb9938c352f16ef7c7d5c012c2e4901a b/src/test/resources/_git_of_git_commit_id/objects/fe/a1e355eb9938c352f16ef7c7d5c012c2e4901a new file mode 100644 index 0000000..a7d30f0 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/a1e355eb9938c352f16ef7c7d5c012c2e4901a differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/fe/dd91403f126efac1b26c36a21537ef298e5054 b/src/test/resources/_git_of_git_commit_id/objects/fe/dd91403f126efac1b26c36a21537ef298e5054 new file mode 100644 index 0000000..b783a5a Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/fe/dd91403f126efac1b26c36a21537ef298e5054 differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/pack/pack-6fc4aa67de3523453f49d83f00019263a7ba68b0.idx b/src/test/resources/_git_of_git_commit_id/objects/pack/pack-6fc4aa67de3523453f49d83f00019263a7ba68b0.idx new file mode 100644 index 0000000..d60415f Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/pack/pack-6fc4aa67de3523453f49d83f00019263a7ba68b0.idx differ diff --git a/src/test/resources/_git_of_git_commit_id/objects/pack/pack-6fc4aa67de3523453f49d83f00019263a7ba68b0.pack b/src/test/resources/_git_of_git_commit_id/objects/pack/pack-6fc4aa67de3523453f49d83f00019263a7ba68b0.pack new file mode 100644 index 0000000..95592c9 Binary files /dev/null and b/src/test/resources/_git_of_git_commit_id/objects/pack/pack-6fc4aa67de3523453f49d83f00019263a7ba68b0.pack differ diff --git a/src/test/resources/_git_of_git_commit_id/packed-refs b/src/test/resources/_git_of_git_commit_id/packed-refs new file mode 100644 index 0000000..be18b15 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/packed-refs @@ -0,0 +1,22 @@ +# pack-refs with: peeled +0ec2c72916ce8ae1db819f1dc78b9a2f1e611396 refs/tags/v1.9 +^e4f4e7a26a89a5aeae65ad0ee638c31c94bbe1dc +b683a0108b943343f0cc0783e8309f8750f2b78c refs/tags/v1.8 +^a599a75c3a73adb9f70145e7ae13b42f7160bcdb +e4da6e59adc8a7de9f029ea3cba8ec0d0b576e13 refs/tags/v1.7 +^c4a7e03ce7e0622b93421499214bb0e9f72cd14d +473aa600d2c22fc4a008d1c1d8cf50562fef5876 refs/tags/v1.6 +^5205c9924e4b8cc96bba4e672d3b12627f76f30f +8a2e16427355862573140fe9baa1e82ec2e921c6 refs/tags/v1.5 +^a8974bbdaab8bdf3b263af8fa3e1ae71578496d2 +971316a891441fbc2635e33ee9c79cf183d71dbb refs/tags/v1.4 +^9640198ad256c0c45f4aee61e474adbd9c52aeb2 +e89f1e7e8e7f24624ed9d19e1d35898339266072 refs/tags/v1.3 +^d142945e8c4b15c561601e58573938d6835eb467 +3f437b3a14f0fed84f8786d5d7051bb5c0d6936c refs/tags/v1.2 +^9b6e5f0501f9158a741f705d417b0ad337710984 +ab60db7e7fedcae077af509e6192add421bfbb12 refs/tags/v1.1 +^6cc9d99542458e164822c47488414234b6b59060 +16c85b8d649a34c40056355af1e1f82b0d2c9d76 refs/tags/v1.0 +^54acaffab11daf6f34f0ee04eddba64f2bb2265b +4266d244c6308f0347a13fd8761dbc532b271ca5 refs/remotes/origin/master diff --git a/src/test/resources/_git_of_git_commit_id/refs/heads/master b/src/test/resources/_git_of_git_commit_id/refs/heads/master new file mode 100644 index 0000000..1a6ed3e --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/heads/master @@ -0,0 +1 @@ +7181832b7d9afdeb86c32cf51214abfca63625be diff --git a/src/test/resources/_git_of_git_commit_id/refs/heads/mostr_refactor_gitdir_lookup b/src/test/resources/_git_of_git_commit_id/refs/heads/mostr_refactor_gitdir_lookup new file mode 100644 index 0000000..a67346d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/heads/mostr_refactor_gitdir_lookup @@ -0,0 +1 @@ +82648ff591d5e40c7c39473f92e566c093ff5fc5 diff --git a/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/fix_custom_file_write b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/fix_custom_file_write new file mode 100644 index 0000000..46b44e7 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/fix_custom_file_write @@ -0,0 +1 @@ +affad5022ca2549d53cfc344d9aac497aa8e1e12 diff --git a/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/integration_tests b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/integration_tests new file mode 100644 index 0000000..3ac5247 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/integration_tests @@ -0,0 +1 @@ +8a67a9fee3512b9c60820899a865000fbfbe5538 diff --git a/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/master b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/master new file mode 100644 index 0000000..0db5135 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/master @@ -0,0 +1 @@ +360ce69f76e95595681644275580615cd6271d01 diff --git a/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/refactor_gitdir_lookup b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/refactor_gitdir_lookup new file mode 100644 index 0000000..c6df19d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/remotes/mostr/refactor_gitdir_lookup @@ -0,0 +1 @@ +33ad86f74c66323455de935ea5ab63082b248204 diff --git a/src/test/resources/_git_of_git_commit_id/refs/remotes/origin/HEAD b/src/test/resources/_git_of_git_commit_id/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/src/test/resources/_git_of_git_commit_id/refs/remotes/origin/master b/src/test/resources/_git_of_git_commit_id/refs/remotes/origin/master new file mode 100644 index 0000000..4b1fdfd --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/remotes/origin/master @@ -0,0 +1 @@ +ace7067505011e6a4ac069732c9ecd9e8c54b23a diff --git a/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0 b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0 new file mode 100644 index 0000000..1c1a5c5 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0 @@ -0,0 +1 @@ +1740fbbddc35a2c3d7da5421ee4eb61b90664802 diff --git a/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.1 b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.1 new file mode 100644 index 0000000..8032af1 --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.1 @@ -0,0 +1 @@ +bd5328a463ef29ec2bd6a7ecf8e51af61a9882ab diff --git a/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.2 b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.2 new file mode 100644 index 0000000..53d6e5b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.2 @@ -0,0 +1 @@ +f0c5ac406ddde0a45a885e0ebb7eed15252d487a diff --git a/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.3 b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.3 new file mode 100644 index 0000000..db4171d --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.3 @@ -0,0 +1 @@ +28728f43f6a9619e78c560830f1db98e271cec07 diff --git a/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.4 b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.4 new file mode 100644 index 0000000..cbb319b --- /dev/null +++ b/src/test/resources/_git_of_git_commit_id/refs/tags/v2.0.4 @@ -0,0 +1 @@ +9b0ee30af97d4ae17dffb11bd06ed67fc4451547 diff --git a/src/test/resources/_git_on_a_tag/COMMIT_EDITMSG b/src/test/resources/_git_on_a_tag/COMMIT_EDITMSG new file mode 100644 index 0000000..088ce8c --- /dev/null +++ b/src/test/resources/_git_on_a_tag/COMMIT_EDITMSG @@ -0,0 +1,9 @@ +isecond line +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# On branch master +# Changes to be committed: +# (use "git reset HEAD ..." to unstage) +# +# modified: README +# diff --git a/src/test/resources/_git_on_a_tag/HEAD b/src/test/resources/_git_on_a_tag/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_on_a_tag/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_on_a_tag/config b/src/test/resources/_git_on_a_tag/config new file mode 100644 index 0000000..af10792 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true diff --git a/src/test/resources/_git_on_a_tag/description b/src/test/resources/_git_on_a_tag/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_on_a_tag/hooks/applypatch-msg.sample b/src/test/resources/_git_on_a_tag/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_on_a_tag/hooks/commit-msg.sample b/src/test/resources/_git_on_a_tag/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_on_a_tag/hooks/post-update.sample b/src/test/resources/_git_on_a_tag/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_on_a_tag/hooks/pre-applypatch.sample b/src/test/resources/_git_on_a_tag/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_on_a_tag/hooks/pre-commit.sample b/src/test/resources/_git_on_a_tag/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_on_a_tag/hooks/pre-rebase.sample b/src/test/resources/_git_on_a_tag/hooks/pre-rebase.sample new file mode 100755 index 0000000..16b4794 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /opt/local/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_on_a_tag/hooks/prepare-commit-msg.sample b/src/test/resources/_git_on_a_tag/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..d0a7248 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /opt/local/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /opt/local/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_on_a_tag/hooks/update.sample b/src/test/resources/_git_on_a_tag/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_on_a_tag/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_on_a_tag/index b/src/test/resources/_git_on_a_tag/index new file mode 100644 index 0000000..ebf4587 Binary files /dev/null and b/src/test/resources/_git_on_a_tag/index differ diff --git a/src/test/resources/_git_on_a_tag/info/exclude b/src/test/resources/_git_on_a_tag/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/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/src/test/resources/_git_on_a_tag/logs/HEAD b/src/test/resources/_git_on_a_tag/logs/HEAD new file mode 100644 index 0000000..3589e94 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 245e5b2f87f8e56263dd9327323c5818f1201e44 Konrad Malawski 1345374722 +0200 commit (initial): initial commit +245e5b2f87f8e56263dd9327323c5818f1201e44 de4db35917b268089c81c9ab1b52541bb778f5a0 Konrad Malawski 1345374738 +0200 commit: isecond line diff --git a/src/test/resources/_git_on_a_tag/logs/refs/heads/master b/src/test/resources/_git_on_a_tag/logs/refs/heads/master new file mode 100644 index 0000000..3589e94 --- /dev/null +++ b/src/test/resources/_git_on_a_tag/logs/refs/heads/master @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 245e5b2f87f8e56263dd9327323c5818f1201e44 Konrad Malawski 1345374722 +0200 commit (initial): initial commit +245e5b2f87f8e56263dd9327323c5818f1201e44 de4db35917b268089c81c9ab1b52541bb778f5a0 Konrad Malawski 1345374738 +0200 commit: isecond line diff --git a/src/test/resources/_git_on_a_tag/objects/1b/7216a5d803dbdbbbb3512fcdde464699f20432 b/src/test/resources/_git_on_a_tag/objects/1b/7216a5d803dbdbbbb3512fcdde464699f20432 new file mode 100644 index 0000000..ef62801 Binary files /dev/null and b/src/test/resources/_git_on_a_tag/objects/1b/7216a5d803dbdbbbb3512fcdde464699f20432 differ diff --git a/src/test/resources/_git_on_a_tag/objects/24/5e5b2f87f8e56263dd9327323c5818f1201e44 b/src/test/resources/_git_on_a_tag/objects/24/5e5b2f87f8e56263dd9327323c5818f1201e44 new file mode 100644 index 0000000..612b874 Binary files /dev/null and b/src/test/resources/_git_on_a_tag/objects/24/5e5b2f87f8e56263dd9327323c5818f1201e44 differ diff --git a/src/test/resources/_git_on_a_tag/objects/d9/d37b24af0396769e027885d296da1fb586b4d5 b/src/test/resources/_git_on_a_tag/objects/d9/d37b24af0396769e027885d296da1fb586b4d5 new file mode 100644 index 0000000..8440bdb Binary files /dev/null and b/src/test/resources/_git_on_a_tag/objects/d9/d37b24af0396769e027885d296da1fb586b4d5 differ diff --git a/src/test/resources/_git_on_a_tag/objects/de/4db35917b268089c81c9ab1b52541bb778f5a0 b/src/test/resources/_git_on_a_tag/objects/de/4db35917b268089c81c9ab1b52541bb778f5a0 new file mode 100644 index 0000000..f2d468a Binary files /dev/null and b/src/test/resources/_git_on_a_tag/objects/de/4db35917b268089c81c9ab1b52541bb778f5a0 differ diff --git a/src/test/resources/_git_on_a_tag/objects/e4/248b6f8800329b7cfb606cbf8a15e448f72d3a b/src/test/resources/_git_on_a_tag/objects/e4/248b6f8800329b7cfb606cbf8a15e448f72d3a new file mode 100644 index 0000000..b0b0257 Binary files /dev/null and b/src/test/resources/_git_on_a_tag/objects/e4/248b6f8800329b7cfb606cbf8a15e448f72d3a differ diff --git a/src/test/resources/_git_on_a_tag/objects/e8/94cf9906827b4042891a5787bf4cb20ea52ae6 b/src/test/resources/_git_on_a_tag/objects/e8/94cf9906827b4042891a5787bf4cb20ea52ae6 new file mode 100644 index 0000000..2fd0fc5 Binary files /dev/null and b/src/test/resources/_git_on_a_tag/objects/e8/94cf9906827b4042891a5787bf4cb20ea52ae6 differ diff --git a/src/test/resources/_git_on_a_tag/refs/heads/master b/src/test/resources/_git_on_a_tag/refs/heads/master new file mode 100644 index 0000000..2ce406c --- /dev/null +++ b/src/test/resources/_git_on_a_tag/refs/heads/master @@ -0,0 +1 @@ +de4db35917b268089c81c9ab1b52541bb778f5a0 diff --git a/src/test/resources/_git_on_a_tag/refs/tags/v1.0.0 b/src/test/resources/_git_on_a_tag/refs/tags/v1.0.0 new file mode 100644 index 0000000..2ce406c --- /dev/null +++ b/src/test/resources/_git_on_a_tag/refs/tags/v1.0.0 @@ -0,0 +1 @@ +de4db35917b268089c81c9ab1b52541bb778f5a0 diff --git a/src/test/resources/_git_on_a_tag_dirty/COMMIT_EDITMSG b/src/test/resources/_git_on_a_tag_dirty/COMMIT_EDITMSG new file mode 100644 index 0000000..088ce8c --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/COMMIT_EDITMSG @@ -0,0 +1,9 @@ +isecond line +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# On branch master +# Changes to be committed: +# (use "git reset HEAD ..." to unstage) +# +# modified: README +# diff --git a/src/test/resources/_git_on_a_tag_dirty/HEAD b/src/test/resources/_git_on_a_tag_dirty/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_on_a_tag_dirty/config b/src/test/resources/_git_on_a_tag_dirty/config new file mode 100644 index 0000000..af10792 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true diff --git a/src/test/resources/_git_on_a_tag_dirty/description b/src/test/resources/_git_on_a_tag_dirty/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/applypatch-msg.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/commit-msg.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/post-update.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/pre-applypatch.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/pre-commit.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/pre-rebase.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/pre-rebase.sample new file mode 100755 index 0000000..16b4794 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /opt/local/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/prepare-commit-msg.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..d0a7248 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /opt/local/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /opt/local/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_on_a_tag_dirty/hooks/update.sample b/src/test/resources/_git_on_a_tag_dirty/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_on_a_tag_dirty/index b/src/test/resources/_git_on_a_tag_dirty/index new file mode 100644 index 0000000..ebf4587 Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/index differ diff --git a/src/test/resources/_git_on_a_tag_dirty/info/exclude b/src/test/resources/_git_on_a_tag_dirty/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/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/src/test/resources/_git_on_a_tag_dirty/logs/HEAD b/src/test/resources/_git_on_a_tag_dirty/logs/HEAD new file mode 100644 index 0000000..3589e94 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 245e5b2f87f8e56263dd9327323c5818f1201e44 Konrad Malawski 1345374722 +0200 commit (initial): initial commit +245e5b2f87f8e56263dd9327323c5818f1201e44 de4db35917b268089c81c9ab1b52541bb778f5a0 Konrad Malawski 1345374738 +0200 commit: isecond line diff --git a/src/test/resources/_git_on_a_tag_dirty/logs/refs/heads/master b/src/test/resources/_git_on_a_tag_dirty/logs/refs/heads/master new file mode 100644 index 0000000..3589e94 --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/logs/refs/heads/master @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 245e5b2f87f8e56263dd9327323c5818f1201e44 Konrad Malawski 1345374722 +0200 commit (initial): initial commit +245e5b2f87f8e56263dd9327323c5818f1201e44 de4db35917b268089c81c9ab1b52541bb778f5a0 Konrad Malawski 1345374738 +0200 commit: isecond line diff --git a/src/test/resources/_git_on_a_tag_dirty/objects/1b/7216a5d803dbdbbbb3512fcdde464699f20432 b/src/test/resources/_git_on_a_tag_dirty/objects/1b/7216a5d803dbdbbbb3512fcdde464699f20432 new file mode 100644 index 0000000..ef62801 Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/objects/1b/7216a5d803dbdbbbb3512fcdde464699f20432 differ diff --git a/src/test/resources/_git_on_a_tag_dirty/objects/24/5e5b2f87f8e56263dd9327323c5818f1201e44 b/src/test/resources/_git_on_a_tag_dirty/objects/24/5e5b2f87f8e56263dd9327323c5818f1201e44 new file mode 100644 index 0000000..612b874 Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/objects/24/5e5b2f87f8e56263dd9327323c5818f1201e44 differ diff --git a/src/test/resources/_git_on_a_tag_dirty/objects/d9/d37b24af0396769e027885d296da1fb586b4d5 b/src/test/resources/_git_on_a_tag_dirty/objects/d9/d37b24af0396769e027885d296da1fb586b4d5 new file mode 100644 index 0000000..8440bdb Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/objects/d9/d37b24af0396769e027885d296da1fb586b4d5 differ diff --git a/src/test/resources/_git_on_a_tag_dirty/objects/de/4db35917b268089c81c9ab1b52541bb778f5a0 b/src/test/resources/_git_on_a_tag_dirty/objects/de/4db35917b268089c81c9ab1b52541bb778f5a0 new file mode 100644 index 0000000..f2d468a Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/objects/de/4db35917b268089c81c9ab1b52541bb778f5a0 differ diff --git a/src/test/resources/_git_on_a_tag_dirty/objects/e4/248b6f8800329b7cfb606cbf8a15e448f72d3a b/src/test/resources/_git_on_a_tag_dirty/objects/e4/248b6f8800329b7cfb606cbf8a15e448f72d3a new file mode 100644 index 0000000..b0b0257 Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/objects/e4/248b6f8800329b7cfb606cbf8a15e448f72d3a differ diff --git a/src/test/resources/_git_on_a_tag_dirty/objects/e8/94cf9906827b4042891a5787bf4cb20ea52ae6 b/src/test/resources/_git_on_a_tag_dirty/objects/e8/94cf9906827b4042891a5787bf4cb20ea52ae6 new file mode 100644 index 0000000..2fd0fc5 Binary files /dev/null and b/src/test/resources/_git_on_a_tag_dirty/objects/e8/94cf9906827b4042891a5787bf4cb20ea52ae6 differ diff --git a/src/test/resources/_git_on_a_tag_dirty/refs/heads/master b/src/test/resources/_git_on_a_tag_dirty/refs/heads/master new file mode 100644 index 0000000..2ce406c --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/refs/heads/master @@ -0,0 +1 @@ +de4db35917b268089c81c9ab1b52541bb778f5a0 diff --git a/src/test/resources/_git_on_a_tag_dirty/refs/tags/v1.0.0 b/src/test/resources/_git_on_a_tag_dirty/refs/tags/v1.0.0 new file mode 100644 index 0000000..2ce406c --- /dev/null +++ b/src/test/resources/_git_on_a_tag_dirty/refs/tags/v1.0.0 @@ -0,0 +1 @@ +de4db35917b268089c81c9ab1b52541bb778f5a0 diff --git a/src/test/resources/_git_one_commit/COMMIT_EDITMSG b/src/test/resources/_git_one_commit/COMMIT_EDITMSG new file mode 100644 index 0000000..9f2fa23 --- /dev/null +++ b/src/test/resources/_git_one_commit/COMMIT_EDITMSG @@ -0,0 +1 @@ +initial commit on test project diff --git a/src/test/resources/_git_one_commit/HEAD b/src/test/resources/_git_one_commit/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_one_commit/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_one_commit/ORIG_HEAD b/src/test/resources/_git_one_commit/ORIG_HEAD new file mode 100644 index 0000000..a23e5e8 --- /dev/null +++ b/src/test/resources/_git_one_commit/ORIG_HEAD @@ -0,0 +1 @@ +0b0181b49468f45e573eaf3562f163107c5c121d diff --git a/src/test/resources/_git_one_commit/config b/src/test/resources/_git_one_commit/config new file mode 100644 index 0000000..ee20fda --- /dev/null +++ b/src/test/resources/_git_one_commit/config @@ -0,0 +1,11 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = false + logallrefupdates = true + symlinks = false + ignorecase = true + hideDotFiles = dotGitOnly +[user] + name = John Doe + email = john.doe@domain.com diff --git a/src/test/resources/_git_one_commit/description b/src/test/resources/_git_one_commit/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_one_commit/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_one_commit/hooks/applypatch-msg.sample b/src/test/resources/_git_one_commit/hooks/applypatch-msg.sample new file mode 100644 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_one_commit/hooks/commit-msg.sample b/src/test/resources/_git_one_commit/hooks/commit-msg.sample new file mode 100644 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_one_commit/hooks/post-commit.sample b/src/test/resources/_git_one_commit/hooks/post-commit.sample new file mode 100644 index 0000000..2266821 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/post-commit.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script that is called after a successful +# commit is made. +# +# To enable this hook, rename this file to "post-commit". + +: Nothing diff --git a/src/test/resources/_git_one_commit/hooks/post-receive.sample b/src/test/resources/_git_one_commit/hooks/post-receive.sample new file mode 100644 index 0000000..7a83e17 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/post-receive.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script for the "post-receive" event. +# +# The "post-receive" script is run after receive-pack has accepted a pack +# and the repository has been updated. It is passed arguments in through +# stdin in the form +# +# For example: +# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master +# +# see contrib/hooks/ for a sample, or uncomment the next line and +# rename the file to "post-receive". + +#. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff --git a/src/test/resources/_git_one_commit/hooks/post-update.sample b/src/test/resources/_git_one_commit/hooks/post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_one_commit/hooks/pre-applypatch.sample b/src/test/resources/_git_one_commit/hooks/pre-applypatch.sample new file mode 100644 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_one_commit/hooks/pre-commit.sample b/src/test/resources/_git_one_commit/hooks/pre-commit.sample new file mode 100644 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_one_commit/hooks/pre-rebase.sample b/src/test/resources/_git_one_commit/hooks/pre-rebase.sample new file mode 100644 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_one_commit/hooks/prepare-commit-msg.sample b/src/test/resources/_git_one_commit/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_one_commit/hooks/update.sample b/src/test/resources/_git_one_commit/hooks/update.sample new file mode 100644 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_one_commit/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_one_commit/index b/src/test/resources/_git_one_commit/index new file mode 100644 index 0000000..58e7d8f Binary files /dev/null and b/src/test/resources/_git_one_commit/index differ diff --git a/src/test/resources/_git_one_commit/info/exclude b/src/test/resources/_git_one_commit/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_one_commit/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/src/test/resources/_git_one_commit/logs/HEAD b/src/test/resources/_git_one_commit/logs/HEAD new file mode 100644 index 0000000..584a1a8 --- /dev/null +++ b/src/test/resources/_git_one_commit/logs/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 0b0181b49468f45e573eaf3562f163107c5c121d John Doe 1341410041 +0200 commit (initial): initial commit on test project diff --git a/src/test/resources/_git_one_commit/logs/refs/heads/master b/src/test/resources/_git_one_commit/logs/refs/heads/master new file mode 100644 index 0000000..584a1a8 --- /dev/null +++ b/src/test/resources/_git_one_commit/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 0b0181b49468f45e573eaf3562f163107c5c121d John Doe 1341410041 +0200 commit (initial): initial commit on test project diff --git a/src/test/resources/_git_one_commit/objects/09/3db1131fab69103a287e5781a937af6b4cae2c b/src/test/resources/_git_one_commit/objects/09/3db1131fab69103a287e5781a937af6b4cae2c new file mode 100644 index 0000000..3a68f53 --- /dev/null +++ b/src/test/resources/_git_one_commit/objects/09/3db1131fab69103a287e5781a937af6b4cae2c @@ -0,0 +1 @@ +xSMo@ٿbJV[FQ:"`e.XVY?p{oX\]]\@Tp2ȹLTY҇s.!O%5K 6n_ y8(nF2fo`jH)7VDHi(Uʳ Q)jE]G%L=DX&,0~9C/l,'bGxmK#hվ5LP bʱn&̷BϞ 2f4Z^.kO|D'9ICUj.Rמd%ZٷĒݦ-?tnsyaw)%z,GntLa7Bm:o=J \ No newline at end of file diff --git a/src/test/resources/_git_one_commit/objects/0b/0181b49468f45e573eaf3562f163107c5c121d b/src/test/resources/_git_one_commit/objects/0b/0181b49468f45e573eaf3562f163107c5c121d new file mode 100644 index 0000000..70f66d1 --- /dev/null +++ b/src/test/resources/_git_one_commit/objects/0b/0181b49468f45e573eaf3562f163107c5c121d @@ -0,0 +1,3 @@ +xA +1 E] C֙ +".\ymo{\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_one_commit_dirty/hooks/post-commit.sample b/src/test/resources/_git_one_commit_dirty/hooks/post-commit.sample new file mode 100644 index 0000000..2266821 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/post-commit.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script that is called after a successful +# commit is made. +# +# To enable this hook, rename this file to "post-commit". + +: Nothing diff --git a/src/test/resources/_git_one_commit_dirty/hooks/post-receive.sample b/src/test/resources/_git_one_commit_dirty/hooks/post-receive.sample new file mode 100644 index 0000000..7a83e17 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/post-receive.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script for the "post-receive" event. +# +# The "post-receive" script is run after receive-pack has accepted a pack +# and the repository has been updated. It is passed arguments in through +# stdin in the form +# +# For example: +# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master +# +# see contrib/hooks/ for a sample, or uncomment the next line and +# rename the file to "post-receive". + +#. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff --git a/src/test/resources/_git_one_commit_dirty/hooks/post-update.sample b/src/test/resources/_git_one_commit_dirty/hooks/post-update.sample new file mode 100644 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_one_commit_dirty/hooks/pre-applypatch.sample b/src/test/resources/_git_one_commit_dirty/hooks/pre-applypatch.sample new file mode 100644 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_one_commit_dirty/hooks/pre-commit.sample b/src/test/resources/_git_one_commit_dirty/hooks/pre-commit.sample new file mode 100644 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_one_commit_dirty/hooks/pre-rebase.sample b/src/test/resources/_git_one_commit_dirty/hooks/pre-rebase.sample new file mode 100644 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_one_commit_dirty/hooks/prepare-commit-msg.sample b/src/test/resources/_git_one_commit_dirty/hooks/prepare-commit-msg.sample new file mode 100644 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_one_commit_dirty/hooks/update.sample b/src/test/resources/_git_one_commit_dirty/hooks/update.sample new file mode 100644 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_one_commit_dirty/index b/src/test/resources/_git_one_commit_dirty/index new file mode 100644 index 0000000..7e8b521 Binary files /dev/null and b/src/test/resources/_git_one_commit_dirty/index differ diff --git a/src/test/resources/_git_one_commit_dirty/info/exclude b/src/test/resources/_git_one_commit_dirty/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/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/src/test/resources/_git_one_commit_dirty/logs/HEAD b/src/test/resources/_git_one_commit_dirty/logs/HEAD new file mode 100644 index 0000000..584a1a8 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/logs/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 0b0181b49468f45e573eaf3562f163107c5c121d John Doe 1341410041 +0200 commit (initial): initial commit on test project diff --git a/src/test/resources/_git_one_commit_dirty/logs/refs/heads/master b/src/test/resources/_git_one_commit_dirty/logs/refs/heads/master new file mode 100644 index 0000000..584a1a8 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 0b0181b49468f45e573eaf3562f163107c5c121d John Doe 1341410041 +0200 commit (initial): initial commit on test project diff --git a/src/test/resources/_git_one_commit_dirty/objects/09/3db1131fab69103a287e5781a937af6b4cae2c b/src/test/resources/_git_one_commit_dirty/objects/09/3db1131fab69103a287e5781a937af6b4cae2c new file mode 100644 index 0000000..3a68f53 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/objects/09/3db1131fab69103a287e5781a937af6b4cae2c @@ -0,0 +1 @@ +xSMo@ٿbJV[FQ:"`e.XVY?p{oX\]]\@Tp2ȹLTY҇s.!O%5K 6n_ y8(nF2fo`jH)7VDHi(Uʳ Q)jE]G%L=DX&,0~9C/l,'bGxmK#hվ5LP bʱn&̷BϞ 2f4Z^.kO|D'9ICUj.Rמd%ZٷĒݦ-?tnsyaw)%z,GntLa7Bm:o=J \ No newline at end of file diff --git a/src/test/resources/_git_one_commit_dirty/objects/0b/0181b49468f45e573eaf3562f163107c5c121d b/src/test/resources/_git_one_commit_dirty/objects/0b/0181b49468f45e573eaf3562f163107c5c121d new file mode 100644 index 0000000..70f66d1 --- /dev/null +++ b/src/test/resources/_git_one_commit_dirty/objects/0b/0181b49468f45e573eaf3562f163107c5c121d @@ -0,0 +1,3 @@ +xA +1 E] C֙ +".\ymo{..." to unstage) +# +# modified: it +# diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/HEAD b/src/test/resources/_git_with_commit_that_has_two_tags/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/config b/src/test/resources/_git_with_commit_that_has_two_tags/config new file mode 100644 index 0000000..af10792 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/description b/src/test/resources/_git_with_commit_that_has_two_tags/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/applypatch-msg.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/commit-msg.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/post-update.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-applypatch.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-commit.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-rebase.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-rebase.sample new file mode 100755 index 0000000..16b4794 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /opt/local/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..d0a7248 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /opt/local/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /opt/local/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/hooks/update.sample b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/index b/src/test/resources/_git_with_commit_that_has_two_tags/index new file mode 100644 index 0000000..52bd681 Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/index differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/info/exclude b/src/test/resources/_git_with_commit_that_has_two_tags/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/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/src/test/resources/_git_with_commit_that_has_two_tags/logs/HEAD b/src/test/resources/_git_with_commit_that_has_two_tags/logs/HEAD new file mode 100644 index 0000000..29a70f1 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/logs/HEAD @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 95975455ef2b1af048f2926b9ba7fb804e22171b Konrad Malawski 1345901379 +0200 commit (initial): initial commit +95975455ef2b1af048f2926b9ba7fb804e22171b d37a598a7a98531ad1375966642c6b1263129436 Konrad Malawski 1345901396 +0200 commit: second line +d37a598a7a98531ad1375966642c6b1263129436 b6a73ed747dd8dc98642d731ddbf09824efb9d48 Konrad Malawski 1345901523 +0200 commit: third addition diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/logs/refs/heads/master b/src/test/resources/_git_with_commit_that_has_two_tags/logs/refs/heads/master new file mode 100644 index 0000000..29a70f1 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/logs/refs/heads/master @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 95975455ef2b1af048f2926b9ba7fb804e22171b Konrad Malawski 1345901379 +0200 commit (initial): initial commit +95975455ef2b1af048f2926b9ba7fb804e22171b d37a598a7a98531ad1375966642c6b1263129436 Konrad Malawski 1345901396 +0200 commit: second line +d37a598a7a98531ad1375966642c6b1263129436 b6a73ed747dd8dc98642d731ddbf09824efb9d48 Konrad Malawski 1345901523 +0200 commit: third addition diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/61/ccc0904609773ec1342dd7640f3b7e8ddb9f2b b/src/test/resources/_git_with_commit_that_has_two_tags/objects/61/ccc0904609773ec1342dd7640f3b7e8ddb9f2b new file mode 100644 index 0000000..dbff3cb Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/61/ccc0904609773ec1342dd7640f3b7e8ddb9f2b differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/6d/af66eea8f78d4f8ab1337f214949a4fc097869 b/src/test/resources/_git_with_commit_that_has_two_tags/objects/6d/af66eea8f78d4f8ab1337f214949a4fc097869 new file mode 100644 index 0000000..ab2521f Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/6d/af66eea8f78d4f8ab1337f214949a4fc097869 differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/88/2476235ef06c5f2cc59325a04ba761988cde36 b/src/test/resources/_git_with_commit_that_has_two_tags/objects/88/2476235ef06c5f2cc59325a04ba761988cde36 new file mode 100644 index 0000000..90f1945 Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/88/2476235ef06c5f2cc59325a04ba761988cde36 differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/95/975455ef2b1af048f2926b9ba7fb804e22171b b/src/test/resources/_git_with_commit_that_has_two_tags/objects/95/975455ef2b1af048f2926b9ba7fb804e22171b new file mode 100644 index 0000000..0177489 Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/95/975455ef2b1af048f2926b9ba7fb804e22171b differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/b6/a73ed747dd8dc98642d731ddbf09824efb9d48 b/src/test/resources/_git_with_commit_that_has_two_tags/objects/b6/a73ed747dd8dc98642d731ddbf09824efb9d48 new file mode 100644 index 0000000..9dbb4bc Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/b6/a73ed747dd8dc98642d731ddbf09824efb9d48 differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/b9/c7d2fd2d966bc133dca9309bdf07b106e3c24b b/src/test/resources/_git_with_commit_that_has_two_tags/objects/b9/c7d2fd2d966bc133dca9309bdf07b106e3c24b new file mode 100644 index 0000000..b187667 Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/b9/c7d2fd2d966bc133dca9309bdf07b106e3c24b differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/d3/7a598a7a98531ad1375966642c6b1263129436 b/src/test/resources/_git_with_commit_that_has_two_tags/objects/d3/7a598a7a98531ad1375966642c6b1263129436 new file mode 100644 index 0000000..da741b6 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/objects/d3/7a598a7a98531ad1375966642c6b1263129436 @@ -0,0 +1,2 @@ +xMj0 @} +[CȎDIq Cox}_$EsYR.C )(VjCQ$L*gAtUc ѿM·HyJphi)/~,_OP \ No newline at end of file diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/d3/abc1fbcd51cb94417d372800f4d3011e766b5c b/src/test/resources/_git_with_commit_that_has_two_tags/objects/d3/abc1fbcd51cb94417d372800f4d3011e766b5c new file mode 100644 index 0000000..cfd94c1 Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/d3/abc1fbcd51cb94417d372800f4d3011e766b5c differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/d8/e7c365bb6cf6305194444ce4fb3f380a62930d b/src/test/resources/_git_with_commit_that_has_two_tags/objects/d8/e7c365bb6cf6305194444ce4fb3f380a62930d new file mode 100644 index 0000000..0a53d19 Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/d8/e7c365bb6cf6305194444ce4fb3f380a62930d differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/de/a499cd5c243ab2b84f3071c4c27ea0a1a894c4 b/src/test/resources/_git_with_commit_that_has_two_tags/objects/de/a499cd5c243ab2b84f3071c4c27ea0a1a894c4 new file mode 100644 index 0000000..43880ec --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/objects/de/a499cd5c243ab2b84f3071c4c27ea0a1a894c4 @@ -0,0 +1,2 @@ +x-0E]+fo$11@CG 4!9s֟RuIP$g3 + P#iޘ|m\Ex wp>/D*H%kt=Z_b2 \ No newline at end of file diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/objects/e4/f1ea5178a7d2ebf53277503fa1ae2ae7ffa546 b/src/test/resources/_git_with_commit_that_has_two_tags/objects/e4/f1ea5178a7d2ebf53277503fa1ae2ae7ffa546 new file mode 100644 index 0000000..80d629b Binary files /dev/null and b/src/test/resources/_git_with_commit_that_has_two_tags/objects/e4/f1ea5178a7d2ebf53277503fa1ae2ae7ffa546 differ diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/refs/heads/master b/src/test/resources/_git_with_commit_that_has_two_tags/refs/heads/master new file mode 100644 index 0000000..bad2097 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/refs/heads/master @@ -0,0 +1 @@ +b6a73ed747dd8dc98642d731ddbf09824efb9d48 diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/annotated-tag b/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/annotated-tag new file mode 100644 index 0000000..ef51d68 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/annotated-tag @@ -0,0 +1 @@ +882476235ef06c5f2cc59325a04ba761988cde36 diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/lightweight-tag b/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/lightweight-tag new file mode 100644 index 0000000..b011450 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/lightweight-tag @@ -0,0 +1 @@ +d37a598a7a98531ad1375966642c6b1263129436 diff --git a/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/newest-tag b/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/newest-tag new file mode 100644 index 0000000..399c0a8 --- /dev/null +++ b/src/test/resources/_git_with_commit_that_has_two_tags/refs/tags/newest-tag @@ -0,0 +1 @@ +dea499cd5c243ab2b84f3071c4c27ea0a1a894c4 diff --git a/src/test/resources/_git_with_submodules/COMMIT_EDITMSG b/src/test/resources/_git_with_submodules/COMMIT_EDITMSG new file mode 100644 index 0000000..a193b84 --- /dev/null +++ b/src/test/resources/_git_with_submodules/COMMIT_EDITMSG @@ -0,0 +1,9 @@ +any commit, just a readme +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# On branch master +# Changes to be committed: +# (use "git reset HEAD ..." to unstage) +# +# new file: README.md +# diff --git a/src/test/resources/_git_with_submodules/HEAD b/src/test/resources/_git_with_submodules/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_with_submodules/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_with_submodules/config b/src/test/resources/_git_with_submodules/config new file mode 100644 index 0000000..903c443 --- /dev/null +++ b/src/test/resources/_git_with_submodules/config @@ -0,0 +1,15 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = false +[submodule "module1"] + url = /tmp/module1 +[submodule "module2"] + url = /tmp/module1 +[submodule "module3"] + url = /tmp/module1 +[submodule "module4"] + url = /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/description b/src/test/resources/_git_with_submodules/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_submodules/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_submodules/hooks/applypatch-msg.sample b/src/test/resources/_git_with_submodules/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/hooks/commit-msg.sample b/src/test/resources/_git_with_submodules/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_submodules/hooks/post-update.sample b/src/test/resources/_git_with_submodules/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_submodules/hooks/pre-applypatch.sample b/src/test/resources/_git_with_submodules/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/hooks/pre-commit.sample b/src/test/resources/_git_with_submodules/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_submodules/hooks/pre-rebase.sample b/src/test/resources/_git_with_submodules/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_submodules/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_submodules/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_submodules/hooks/update.sample b/src/test/resources/_git_with_submodules/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_with_submodules/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_submodules/index b/src/test/resources/_git_with_submodules/index new file mode 100644 index 0000000..8d06af0 Binary files /dev/null and b/src/test/resources/_git_with_submodules/index differ diff --git a/src/test/resources/_git_with_submodules/info/exclude b/src/test/resources/_git_with_submodules/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/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/src/test/resources/_git_with_submodules/logs/HEAD b/src/test/resources/_git_with_submodules/logs/HEAD new file mode 100644 index 0000000..8d2c37a --- /dev/null +++ b/src/test/resources/_git_with_submodules/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 4ce26eb46f9122b2e4ff1ea297d2d63ef50b5b42 Konrad Malawski 1361720424 +0100 commit (initial): my submodules, yay +4ce26eb46f9122b2e4ff1ea297d2d63ef50b5b42 01ed93c69b076b1cfb1fcf75d72ca5c680931e47 Konrad Malawski 1361720439 +0100 commit: any commit, just a readme diff --git a/src/test/resources/_git_with_submodules/logs/refs/heads/master b/src/test/resources/_git_with_submodules/logs/refs/heads/master new file mode 100644 index 0000000..8d2c37a --- /dev/null +++ b/src/test/resources/_git_with_submodules/logs/refs/heads/master @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 4ce26eb46f9122b2e4ff1ea297d2d63ef50b5b42 Konrad Malawski 1361720424 +0100 commit (initial): my submodules, yay +4ce26eb46f9122b2e4ff1ea297d2d63ef50b5b42 01ed93c69b076b1cfb1fcf75d72ca5c680931e47 Konrad Malawski 1361720439 +0100 commit: any commit, just a readme diff --git a/src/test/resources/_git_with_submodules/modules/module1/HEAD b/src/test/resources/_git_with_submodules/modules/module1/HEAD new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/HEAD @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module1/config b/src/test/resources/_git_with_submodules/modules/module1/config new file mode 100644 index 0000000..97b9ef8 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/config @@ -0,0 +1,14 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + worktree = ../../../module1 + ignorecase = true + precomposeunicode = false +[remote "origin"] + url = /tmp/module1 + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/src/test/resources/_git_with_submodules/modules/module1/description b/src/test/resources/_git_with_submodules/modules/module1/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/applypatch-msg.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/post-update.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-applypatch.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-commit.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-rebase.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_submodules/modules/module1/hooks/update.sample b/src/test/resources/_git_with_submodules/modules/module1/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_submodules/modules/module1/index b/src/test/resources/_git_with_submodules/modules/module1/index new file mode 100644 index 0000000..c12d7f2 Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module1/index differ diff --git a/src/test/resources/_git_with_submodules/modules/module1/info/exclude b/src/test/resources/_git_with_submodules/modules/module1/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/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/src/test/resources/_git_with_submodules/modules/module1/logs/HEAD b/src/test/resources/_git_with_submodules/modules/module1/logs/HEAD new file mode 100644 index 0000000..2793712 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720371 +0100 clone: from /tmp/module1 +9fd4b69a5ca09b60884d4f8f49ce16ea071077be 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720409 +0100 checkout: moving from master to 9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module1/logs/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module1/logs/refs/heads/master new file mode 100644 index 0000000..4b3b262 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720371 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module1/logs/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module1/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..4b3b262 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720371 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module1/objects/03/367482265f77f74c54505159bb020ec53aae6b b/src/test/resources/_git_with_submodules/modules/module1/objects/03/367482265f77f74c54505159bb020ec53aae6b new file mode 100644 index 0000000..7346f4b Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module1/objects/03/367482265f77f74c54505159bb020ec53aae6b differ diff --git a/src/test/resources/_git_with_submodules/modules/module1/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be b/src/test/resources/_git_with_submodules/modules/module1/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be new file mode 100644 index 0000000..97c9f62 Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module1/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be differ diff --git a/src/test/resources/_git_with_submodules/modules/module1/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 b/src/test/resources/_git_with_submodules/modules/module1/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 new file mode 100644 index 0000000..2f4d57f Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module1/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 differ diff --git a/src/test/resources/_git_with_submodules/modules/module1/packed-refs b/src/test/resources/_git_with_submodules/modules/module1/packed-refs new file mode 100644 index 0000000..47e3ef9 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled +9fd4b69a5ca09b60884d4f8f49ce16ea071077be refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module1/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module1/refs/heads/master new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/refs/heads/master @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module1/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module1/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module1/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module2/HEAD b/src/test/resources/_git_with_submodules/modules/module2/HEAD new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/HEAD @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module2/config b/src/test/resources/_git_with_submodules/modules/module2/config new file mode 100644 index 0000000..377bdd2 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/config @@ -0,0 +1,14 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + worktree = ../../../module2 + ignorecase = true + precomposeunicode = false +[remote "origin"] + url = /tmp/module1 + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/src/test/resources/_git_with_submodules/modules/module2/description b/src/test/resources/_git_with_submodules/modules/module2/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/applypatch-msg.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/post-update.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-applypatch.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-commit.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-rebase.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_submodules/modules/module2/hooks/update.sample b/src/test/resources/_git_with_submodules/modules/module2/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_submodules/modules/module2/index b/src/test/resources/_git_with_submodules/modules/module2/index new file mode 100644 index 0000000..147e6dc Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module2/index differ diff --git a/src/test/resources/_git_with_submodules/modules/module2/info/exclude b/src/test/resources/_git_with_submodules/modules/module2/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/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/src/test/resources/_git_with_submodules/modules/module2/logs/HEAD b/src/test/resources/_git_with_submodules/modules/module2/logs/HEAD new file mode 100644 index 0000000..e2917d3 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720373 +0100 clone: from /tmp/module1 +9fd4b69a5ca09b60884d4f8f49ce16ea071077be 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720410 +0100 checkout: moving from master to 9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module2/logs/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module2/logs/refs/heads/master new file mode 100644 index 0000000..7cb0d0d --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720373 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module2/logs/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module2/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..7cb0d0d --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720373 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module2/objects/03/367482265f77f74c54505159bb020ec53aae6b b/src/test/resources/_git_with_submodules/modules/module2/objects/03/367482265f77f74c54505159bb020ec53aae6b new file mode 100644 index 0000000..7346f4b Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module2/objects/03/367482265f77f74c54505159bb020ec53aae6b differ diff --git a/src/test/resources/_git_with_submodules/modules/module2/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be b/src/test/resources/_git_with_submodules/modules/module2/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be new file mode 100644 index 0000000..97c9f62 Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module2/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be differ diff --git a/src/test/resources/_git_with_submodules/modules/module2/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 b/src/test/resources/_git_with_submodules/modules/module2/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 new file mode 100644 index 0000000..2f4d57f Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module2/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 differ diff --git a/src/test/resources/_git_with_submodules/modules/module2/packed-refs b/src/test/resources/_git_with_submodules/modules/module2/packed-refs new file mode 100644 index 0000000..47e3ef9 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled +9fd4b69a5ca09b60884d4f8f49ce16ea071077be refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module2/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module2/refs/heads/master new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/refs/heads/master @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module2/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module2/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module2/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module3/HEAD b/src/test/resources/_git_with_submodules/modules/module3/HEAD new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/HEAD @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module3/config b/src/test/resources/_git_with_submodules/modules/module3/config new file mode 100644 index 0000000..061cce8 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/config @@ -0,0 +1,14 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + worktree = ../../../module3 + ignorecase = true + precomposeunicode = false +[remote "origin"] + url = /tmp/module1 + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/src/test/resources/_git_with_submodules/modules/module3/description b/src/test/resources/_git_with_submodules/modules/module3/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/applypatch-msg.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/post-update.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-applypatch.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-commit.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-rebase.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_submodules/modules/module3/hooks/update.sample b/src/test/resources/_git_with_submodules/modules/module3/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_submodules/modules/module3/index b/src/test/resources/_git_with_submodules/modules/module3/index new file mode 100644 index 0000000..72d8f5c Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module3/index differ diff --git a/src/test/resources/_git_with_submodules/modules/module3/info/exclude b/src/test/resources/_git_with_submodules/modules/module3/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/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/src/test/resources/_git_with_submodules/modules/module3/logs/HEAD b/src/test/resources/_git_with_submodules/modules/module3/logs/HEAD new file mode 100644 index 0000000..938bc9d --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720374 +0100 clone: from /tmp/module1 +9fd4b69a5ca09b60884d4f8f49ce16ea071077be 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720410 +0100 checkout: moving from master to 9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module3/logs/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module3/logs/refs/heads/master new file mode 100644 index 0000000..ebe8579 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720374 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module3/logs/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module3/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..ebe8579 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720374 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module3/objects/03/367482265f77f74c54505159bb020ec53aae6b b/src/test/resources/_git_with_submodules/modules/module3/objects/03/367482265f77f74c54505159bb020ec53aae6b new file mode 100644 index 0000000..7346f4b Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module3/objects/03/367482265f77f74c54505159bb020ec53aae6b differ diff --git a/src/test/resources/_git_with_submodules/modules/module3/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be b/src/test/resources/_git_with_submodules/modules/module3/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be new file mode 100644 index 0000000..97c9f62 Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module3/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be differ diff --git a/src/test/resources/_git_with_submodules/modules/module3/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 b/src/test/resources/_git_with_submodules/modules/module3/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 new file mode 100644 index 0000000..2f4d57f Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module3/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 differ diff --git a/src/test/resources/_git_with_submodules/modules/module3/packed-refs b/src/test/resources/_git_with_submodules/modules/module3/packed-refs new file mode 100644 index 0000000..47e3ef9 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled +9fd4b69a5ca09b60884d4f8f49ce16ea071077be refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module3/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module3/refs/heads/master new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/refs/heads/master @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module3/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module3/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module3/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module4/HEAD b/src/test/resources/_git_with_submodules/modules/module4/HEAD new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/HEAD @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module4/config b/src/test/resources/_git_with_submodules/modules/module4/config new file mode 100644 index 0000000..612a9cb --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/config @@ -0,0 +1,14 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + worktree = ../../../module4 + ignorecase = true + precomposeunicode = false +[remote "origin"] + url = /tmp/module1 + fetch = +refs/heads/*:refs/remotes/origin/* +[branch "master"] + remote = origin + merge = refs/heads/master diff --git a/src/test/resources/_git_with_submodules/modules/module4/description b/src/test/resources/_git_with_submodules/modules/module4/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/applypatch-msg.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/post-update.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-applypatch.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-commit.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-commit.sample new file mode 100755 index 0000000..18c4829 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-commit.sample @@ -0,0 +1,50 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ascii filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ascii filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + echo "Error: Attempt to add a non-ascii file name." + echo + echo "This can cause problems if you want to work" + echo "with people on other platforms." + echo + echo "To be portable it is advisable to rename the file ..." + echo + echo "If you know what you are doing you can disable this" + echo "check using:" + echo + echo " git config hooks.allownonascii true" + echo + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-rebase.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_submodules/modules/module4/hooks/update.sample b/src/test/resources/_git_with_submodules/modules/module4/hooks/update.sample new file mode 100755 index 0000000..71ab04e --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_submodules/modules/module4/index b/src/test/resources/_git_with_submodules/modules/module4/index new file mode 100644 index 0000000..1e4496a Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module4/index differ diff --git a/src/test/resources/_git_with_submodules/modules/module4/info/exclude b/src/test/resources/_git_with_submodules/modules/module4/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/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/src/test/resources/_git_with_submodules/modules/module4/logs/HEAD b/src/test/resources/_git_with_submodules/modules/module4/logs/HEAD new file mode 100644 index 0000000..c659631 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/logs/HEAD @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720376 +0100 clone: from /tmp/module1 +9fd4b69a5ca09b60884d4f8f49ce16ea071077be 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720410 +0100 checkout: moving from master to 9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module4/logs/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module4/logs/refs/heads/master new file mode 100644 index 0000000..e2c109b --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720376 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module4/logs/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module4/logs/refs/remotes/origin/HEAD new file mode 100644 index 0000000..e2c109b --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/logs/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 9fd4b69a5ca09b60884d4f8f49ce16ea071077be Konrad Malawski 1361720376 +0100 clone: from /tmp/module1 diff --git a/src/test/resources/_git_with_submodules/modules/module4/objects/03/367482265f77f74c54505159bb020ec53aae6b b/src/test/resources/_git_with_submodules/modules/module4/objects/03/367482265f77f74c54505159bb020ec53aae6b new file mode 100644 index 0000000..7346f4b Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module4/objects/03/367482265f77f74c54505159bb020ec53aae6b differ diff --git a/src/test/resources/_git_with_submodules/modules/module4/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be b/src/test/resources/_git_with_submodules/modules/module4/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be new file mode 100644 index 0000000..97c9f62 Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module4/objects/9f/d4b69a5ca09b60884d4f8f49ce16ea071077be differ diff --git a/src/test/resources/_git_with_submodules/modules/module4/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 b/src/test/resources/_git_with_submodules/modules/module4/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 new file mode 100644 index 0000000..2f4d57f Binary files /dev/null and b/src/test/resources/_git_with_submodules/modules/module4/objects/a9/36c1d33d249f10b93d102bc1d28e3267a029b4 differ diff --git a/src/test/resources/_git_with_submodules/modules/module4/packed-refs b/src/test/resources/_git_with_submodules/modules/module4/packed-refs new file mode 100644 index 0000000..47e3ef9 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled +9fd4b69a5ca09b60884d4f8f49ce16ea071077be refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/modules/module4/refs/heads/master b/src/test/resources/_git_with_submodules/modules/module4/refs/heads/master new file mode 100644 index 0000000..d1128d1 --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/refs/heads/master @@ -0,0 +1 @@ +9fd4b69a5ca09b60884d4f8f49ce16ea071077be diff --git a/src/test/resources/_git_with_submodules/modules/module4/refs/remotes/origin/HEAD b/src/test/resources/_git_with_submodules/modules/module4/refs/remotes/origin/HEAD new file mode 100644 index 0000000..6efe28f --- /dev/null +++ b/src/test/resources/_git_with_submodules/modules/module4/refs/remotes/origin/HEAD @@ -0,0 +1 @@ +ref: refs/remotes/origin/master diff --git a/src/test/resources/_git_with_submodules/objects/01/ed93c69b076b1cfb1fcf75d72ca5c680931e47 b/src/test/resources/_git_with_submodules/objects/01/ed93c69b076b1cfb1fcf75d72ca5c680931e47 new file mode 100644 index 0000000..b87ebdc --- /dev/null +++ b/src/test/resources/_git_with_submodules/objects/01/ed93c69b076b1cfb1fcf75d72ca5c680931e47 @@ -0,0 +1,4 @@ +xK +B1 @Q]E护G "E} ~ޏZw/;pz[a4R@N(TPZ)d!'B`f26E(JQ%$^ +StE'0𣝧 +i{~o>a=aUJn={. w hM6_2<˭7` cVt \ No newline at end of file diff --git a/src/test/resources/_git_with_submodules/objects/07/45ee2221dabd15743fd1fdc74343e7b625f31a b/src/test/resources/_git_with_submodules/objects/07/45ee2221dabd15743fd1fdc74343e7b625f31a new file mode 100644 index 0000000..b864e68 Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/07/45ee2221dabd15743fd1fdc74343e7b625f31a differ diff --git a/src/test/resources/_git_with_submodules/objects/09/e6abb3468f1206449501732c73de45ef217c60 b/src/test/resources/_git_with_submodules/objects/09/e6abb3468f1206449501732c73de45ef217c60 new file mode 100644 index 0000000..963e17a Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/09/e6abb3468f1206449501732c73de45ef217c60 differ diff --git a/src/test/resources/_git_with_submodules/objects/11/f6ec80c3b18953633d8458a07d5c73f87a31f9 b/src/test/resources/_git_with_submodules/objects/11/f6ec80c3b18953633d8458a07d5c73f87a31f9 new file mode 100644 index 0000000..61b9e08 Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/11/f6ec80c3b18953633d8458a07d5c73f87a31f9 differ diff --git a/src/test/resources/_git_with_submodules/objects/4c/e26eb46f9122b2e4ff1ea297d2d63ef50b5b42 b/src/test/resources/_git_with_submodules/objects/4c/e26eb46f9122b2e4ff1ea297d2d63ef50b5b42 new file mode 100644 index 0000000..af7025a Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/4c/e26eb46f9122b2e4ff1ea297d2d63ef50b5b42 differ diff --git a/src/test/resources/_git_with_submodules/objects/97/46274eb7a88218e274aff52b4850fbdeb1de36 b/src/test/resources/_git_with_submodules/objects/97/46274eb7a88218e274aff52b4850fbdeb1de36 new file mode 100644 index 0000000..a05cfd2 Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/97/46274eb7a88218e274aff52b4850fbdeb1de36 differ diff --git a/src/test/resources/_git_with_submodules/objects/ae/106b6639e917f90f42d5d78729e0ecdbd702cd b/src/test/resources/_git_with_submodules/objects/ae/106b6639e917f90f42d5d78729e0ecdbd702cd new file mode 100644 index 0000000..7ddbd1b Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/ae/106b6639e917f90f42d5d78729e0ecdbd702cd differ diff --git a/src/test/resources/_git_with_submodules/objects/ee/7dbc2cfb31b5a118dca682d6c476b49ac68f39 b/src/test/resources/_git_with_submodules/objects/ee/7dbc2cfb31b5a118dca682d6c476b49ac68f39 new file mode 100644 index 0000000..fe632ac Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/ee/7dbc2cfb31b5a118dca682d6c476b49ac68f39 differ diff --git a/src/test/resources/_git_with_submodules/objects/f2/50a90e2c0f8ba3f0f14095be216249fbf35ce5 b/src/test/resources/_git_with_submodules/objects/f2/50a90e2c0f8ba3f0f14095be216249fbf35ce5 new file mode 100644 index 0000000..2c56b90 Binary files /dev/null and b/src/test/resources/_git_with_submodules/objects/f2/50a90e2c0f8ba3f0f14095be216249fbf35ce5 differ diff --git a/src/test/resources/_git_with_submodules/refs/heads/master b/src/test/resources/_git_with_submodules/refs/heads/master new file mode 100644 index 0000000..70fb5a9 --- /dev/null +++ b/src/test/resources/_git_with_submodules/refs/heads/master @@ -0,0 +1 @@ +01ed93c69b076b1cfb1fcf75d72ca5c680931e47 diff --git a/src/test/resources/_git_with_tag_on_different_branch/COMMIT_EDITMSG b/src/test/resources/_git_with_tag_on_different_branch/COMMIT_EDITMSG new file mode 100644 index 0000000..df0df8c --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/COMMIT_EDITMSG @@ -0,0 +1,16 @@ +Change in tag +# Please enter the commit message for your changes. Lines starting +# with '#' will be ignored, and an empty message aborts the commit. +# On branch test +# Changes to be committed: +# (use "git reset HEAD ..." to unstage) +# +# modified: readme.txt +# +diff --git a/readme.txt b/readme.txt +index 53a90bf..e69336e 100644 +--- a/readme.txt ++++ b/readme.txt +@@ -1 +1 @@ +-Empty ++Other content diff --git a/src/test/resources/_git_with_tag_on_different_branch/HEAD b/src/test/resources/_git_with_tag_on_different_branch/HEAD new file mode 100644 index 0000000..cb089cd --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/src/test/resources/_git_with_tag_on_different_branch/config b/src/test/resources/_git_with_tag_on_different_branch/config new file mode 100644 index 0000000..bb4d11c --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/config @@ -0,0 +1,7 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = false diff --git a/src/test/resources/_git_with_tag_on_different_branch/description b/src/test/resources/_git_with_tag_on_different_branch/description new file mode 100644 index 0000000..498b267 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/applypatch-msg.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/applypatch-msg.sample new file mode 100755 index 0000000..8b2a2fe --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/applypatch-msg.sample @@ -0,0 +1,15 @@ +#!/bin/sh +# +# An example hook script to check the commit log message taken by +# applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. The hook is +# allowed to edit the commit message file. +# +# To enable this hook, rename this file to "applypatch-msg". + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/commit-msg.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/commit-msg.sample new file mode 100755 index 0000000..b58d118 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/commit-msg.sample @@ -0,0 +1,24 @@ +#!/bin/sh +# +# An example hook script to check the commit log message. +# Called by "git commit" with one argument, the name of the file +# that has the commit message. The hook should exit with non-zero +# status after issuing an appropriate message if it wants to stop the +# commit. The hook is allowed to edit the commit message file. +# +# To enable this hook, rename this file to "commit-msg". + +# Uncomment the below to add a Signed-off-by line to the message. +# Doing this in a hook is a bad idea in general, but the prepare-commit-msg +# hook is more suited to it. +# +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" + +# This example catches duplicate Signed-off-by lines. + +test "" = "$(grep '^Signed-off-by: ' "$1" | + sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { + echo >&2 Duplicate Signed-off-by lines. + exit 1 +} diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/post-update.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/post-update.sample new file mode 100755 index 0000000..ec17ec1 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/post-update.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, rename this file to "post-update". + +exec git update-server-info diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-applypatch.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-applypatch.sample new file mode 100755 index 0000000..b1f187c --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-applypatch.sample @@ -0,0 +1,14 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed +# by applypatch from an e-mail message. +# +# The hook should exit with non-zero status after issuing an +# appropriate message if it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-applypatch". + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-commit.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-commit.sample new file mode 100755 index 0000000..586e3bf --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-commit.sample @@ -0,0 +1,49 @@ +#!/bin/sh +# +# An example hook script to verify what is about to be committed. +# Called by "git commit" with no arguments. The hook should +# exit with non-zero status after issuing an appropriate message if +# it wants to stop the commit. +# +# To enable this hook, rename this file to "pre-commit". + +if git rev-parse --verify HEAD >/dev/null 2>&1 +then + against=HEAD +else + # Initial commit: diff against an empty tree object + against=4b825dc642cb6eb9a060e54bf8d69288fbee4904 +fi + +# If you want to allow non-ASCII filenames set this variable to true. +allownonascii=$(git config hooks.allownonascii) + +# Redirect output to stderr. +exec 1>&2 + +# Cross platform projects tend to avoid non-ASCII filenames; prevent +# them from being added to the repository. We exploit the fact that the +# printable range starts at the space character and ends with tilde. +if [ "$allownonascii" != "true" ] && + # Note that the use of brackets around a tr range is ok here, (it's + # even required, for portability to Solaris 10's /usr/bin/tr), since + # the square bracket bytes happen to fall in the designated range. + test $(git diff --cached --name-only --diff-filter=A -z $against | + LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 +then + cat <<\EOF +Error: Attempt to add a non-ASCII file name. + +This can cause problems if you want to work with people on other platforms. + +To be portable it is advisable to rename the file. + +If you know what you are doing you can disable this check using: + + git config hooks.allownonascii true +EOF + exit 1 +fi + +# If there are whitespace errors, print the offending file names and fail. +exec git diff-index --check --cached $against -- diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-push.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-push.sample new file mode 100755 index 0000000..15ab6d8 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-push.sample @@ -0,0 +1,53 @@ +#!/bin/sh + +# An example hook script to verify what is about to be pushed. Called by "git +# push" after it has checked the remote status, but before anything has been +# pushed. If this script exits with a non-zero status nothing will be pushed. +# +# This hook is called with the following parameters: +# +# $1 -- Name of the remote to which the push is being done +# $2 -- URL to which the push is being done +# +# If pushing without using a named remote those arguments will be equal. +# +# Information about the commits which are being pushed is supplied as lines to +# the standard input in the form: +# +# +# +# This sample shows how to prevent push of commits where the log message starts +# with "WIP" (work in progress). + +remote="$1" +url="$2" + +z40=0000000000000000000000000000000000000000 + +IFS=' ' +while read local_ref local_sha remote_ref remote_sha +do + if [ "$local_sha" = $z40 ] + then + # Handle delete + else + if [ "$remote_sha" = $z40 ] + then + # New branch, examine all commits + range="$local_sha" + else + # Update to existing branch, examine new commits + range="$remote_sha..$local_sha" + fi + + # Check for WIP commit + commit=`git rev-list -n 1 --grep '^WIP' "$range"` + if [ -n "$commit" ] + then + echo "Found WIP commit in $local_ref, not pushing" + exit 1 + fi + fi +done + +exit 0 diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-rebase.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-rebase.sample new file mode 100755 index 0000000..9773ed4 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/pre-rebase.sample @@ -0,0 +1,169 @@ +#!/bin/sh +# +# Copyright (c) 2006, 2008 Junio C Hamano +# +# The "pre-rebase" hook is run just before "git rebase" starts doing +# its job, and can prevent the command from running by exiting with +# non-zero status. +# +# The hook is called with the following parameters: +# +# $1 -- the upstream the series was forked from. +# $2 -- the branch being rebased (or empty when rebasing the current branch). +# +# This sample shows how to prevent topic branches that are already +# merged to 'next' branch from getting rebased, because allowing it +# would result in rebasing already published history. + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` || + exit 0 ;# we do not interrupt rebasing detached HEAD +fi + +case "$topic" in +refs/heads/??/*) + ;; +*) + exit 0 ;# we do not interrupt others. + ;; +esac + +# Now we are dealing with a topic branch being rebased +# on top of master. Is it OK to rebase it? + +# Does the topic really exist? +git show-ref -q "$topic" || { + echo >&2 "No such branch $topic" + exit 1 +} + +# Is topic fully merged to master? +not_in_master=`git rev-list --pretty=oneline ^master "$topic"` +if test -z "$not_in_master" +then + echo >&2 "$topic is fully merged to master; better remove it." + exit 1 ;# we could allow it, but there is no point. +fi + +# Is topic ever merged to next? If so you should not be rebasing it. +only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` +only_next_2=`git rev-list ^master ${publish} | sort` +if test "$only_next_1" = "$only_next_2" +then + not_in_topic=`git rev-list "^$topic" master` + if test -z "$not_in_topic" + then + echo >&2 "$topic is already up-to-date with master" + exit 1 ;# we could allow it, but there is no point. + else + exit 0 + fi +else + not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` + /usr/bin/perl -e ' + my $topic = $ARGV[0]; + my $msg = "* $topic has commits already merged to public branch:\n"; + my (%not_in_next) = map { + /^([0-9a-f]+) /; + ($1 => 1); + } split(/\n/, $ARGV[1]); + for my $elem (map { + /^([0-9a-f]+) (.*)$/; + [$1 => $2]; + } split(/\n/, $ARGV[2])) { + if (!exists $not_in_next{$elem->[0]}) { + if ($msg) { + print STDERR $msg; + undef $msg; + } + print STDERR " $elem->[1]\n"; + } + } + ' "$topic" "$not_in_next" "$not_in_master" + exit 1 +fi + +exit 0 + +################################################################ + +This sample hook safeguards topic branches that have been +published from being rewound. + +The workflow assumed here is: + + * Once a topic branch forks from "master", "master" is never + merged into it again (either directly or indirectly). + + * Once a topic branch is fully cooked and merged into "master", + it is deleted. If you need to build on top of it to correct + earlier mistakes, a new topic branch is created by forking at + the tip of the "master". This is not strictly necessary, but + it makes it easier to keep your history simple. + + * Whenever you need to test or publish your changes to topic + branches, merge them into "next" branch. + +The script, being an example, hardcodes the publish branch name +to be "next", but it is trivial to make it configurable via +$GIT_DIR/config mechanism. + +With this workflow, you would want to know: + +(1) ... if a topic branch has ever been merged to "next". Young + topic branches can have stupid mistakes you would rather + clean up before publishing, and things that have not been + merged into other branches can be easily rebased without + affecting other people. But once it is published, you would + not want to rewind it. + +(2) ... if a topic branch has been fully merged to "master". + Then you can delete it. More importantly, you should not + build on top of it -- other people may already want to + change things related to the topic as patches against your + "master", so if you need further changes, it is better to + fork the topic (perhaps with the same name) afresh from the + tip of "master". + +Let's look at this example: + + o---o---o---o---o---o---o---o---o---o "next" + / / / / + / a---a---b A / / + / / / / + / / c---c---c---c B / + / / / \ / + / / / b---b C \ / + / / / / \ / + ---o---o---o---o---o---o---o---o---o---o---o "master" + + +A, B and C are topic branches. + + * A has one fix since it was merged up to "next". + + * B has finished. It has been fully merged up to "master" and "next", + and is ready to be deleted. + + * C has not merged to "next" at all. + +We would want to allow C to be rebased, refuse A, and encourage +B to be deleted. + +To compute (1): + + git rev-list ^master ^topic next + git rev-list ^master next + + if these match, topic has not merged in next at all. + +To compute (2): + + git rev-list master..topic + + if this is empty, it is fully merged to "master". diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/prepare-commit-msg.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/prepare-commit-msg.sample new file mode 100755 index 0000000..f093a02 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/prepare-commit-msg.sample @@ -0,0 +1,36 @@ +#!/bin/sh +# +# An example hook script to prepare the commit log message. +# Called by "git commit" with the name of the file that has the +# commit message, followed by the description of the commit +# message's source. The hook's purpose is to edit the commit +# message file. If the hook fails with a non-zero status, +# the commit is aborted. +# +# To enable this hook, rename this file to "prepare-commit-msg". + +# This hook includes three examples. The first comments out the +# "Conflicts:" part of a merge commit. +# +# The second includes the output of "git diff --name-status -r" +# into the message, just before the "git status" output. It is +# commented because it doesn't cope with --amend or with squashed +# commits. +# +# The third example adds a Signed-off-by line to the message, that can +# still be edited. This is rarely a good idea. + +case "$2,$3" in + merge,) + /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;; + +# ,|template,) +# /usr/bin/perl -i.bak -pe ' +# print "\n" . `git diff --cached --name-status -r` +# if /^#/ && $first++ == 0' "$1" ;; + + *) ;; +esac + +# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') +# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" diff --git a/src/test/resources/_git_with_tag_on_different_branch/hooks/update.sample b/src/test/resources/_git_with_tag_on_different_branch/hooks/update.sample new file mode 100755 index 0000000..d847583 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/hooks/update.sample @@ -0,0 +1,128 @@ +#!/bin/sh +# +# An example hook script to blocks unannotated tags from entering. +# Called by "git receive-pack" with arguments: refname sha1-old sha1-new +# +# To enable this hook, rename this file to "update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# hooks.allowdeletetag +# This boolean sets whether deleting tags will be allowed in the +# repository. By default they won't be. +# hooks.allowmodifytag +# This boolean sets whether a tag may be modified after creation. By default +# it won't be. +# hooks.allowdeletebranch +# This boolean sets whether deleting branches will be allowed in the +# repository. By default they won't be. +# hooks.denycreatebranch +# This boolean sets whether remotely creating branches will be denied +# in the repository. By default this is allowed. +# + +# --- Command line +refname="$1" +oldrev="$2" +newrev="$3" + +# --- Safety check +if [ -z "$GIT_DIR" ]; then + echo "Don't run this script from the command line." >&2 + echo " (if you want, you could supply GIT_DIR then run" >&2 + echo " $0 )" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git config --bool hooks.allowunannotated) +allowdeletebranch=$(git config --bool hooks.allowdeletebranch) +denycreatebranch=$(git config --bool hooks.denycreatebranch) +allowdeletetag=$(git config --bool hooks.allowdeletetag) +allowmodifytag=$(git config --bool hooks.allowmodifytag) + +# check for no description +projectdesc=$(sed -e '1q' "$GIT_DIR/description") +case "$projectdesc" in +"Unnamed repository"* | "") + echo "*** Project description file hasn't been set" >&2 + exit 1 + ;; +esac + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a ref. +zero="0000000000000000000000000000000000000000" +if [ "$newrev" = "$zero" ]; then + newrev_type=delete +else + newrev_type=$(git cat-file -t $newrev) +fi + +case "$refname","$newrev_type" in + refs/tags/*,commit) + # un-annotated tag + short_refname=${refname##refs/tags/} + if [ "$allowunannotated" != "true" ]; then + echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2 + echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 + exit 1 + fi + ;; + refs/tags/*,delete) + # delete tag + if [ "$allowdeletetag" != "true" ]; then + echo "*** Deleting a tag is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/tags/*,tag) + # annotated tag + if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 + then + echo "*** Tag '$refname' already exists." >&2 + echo "*** Modifying a tag is not allowed in this repository." >&2 + exit 1 + fi + ;; + refs/heads/*,commit) + # branch + if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then + echo "*** Creating a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/heads/*,delete) + # delete branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + refs/remotes/*,commit) + # tracking branch + ;; + refs/remotes/*,delete) + # delete tracking branch + if [ "$allowdeletebranch" != "true" ]; then + echo "*** Deleting a tracking branch is not allowed in this repository" >&2 + exit 1 + fi + ;; + *) + # Anything else (is there anything else?) + echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 + exit 1 + ;; +esac + +# --- Finished +exit 0 diff --git a/src/test/resources/_git_with_tag_on_different_branch/index b/src/test/resources/_git_with_tag_on_different_branch/index new file mode 100644 index 0000000..3ec7e55 Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/index differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/info/exclude b/src/test/resources/_git_with_tag_on_different_branch/info/exclude new file mode 100644 index 0000000..a5196d1 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/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/src/test/resources/_git_with_tag_on_different_branch/logs/HEAD b/src/test/resources/_git_with_tag_on_different_branch/logs/HEAD new file mode 100644 index 0000000..428ae8c --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/logs/HEAD @@ -0,0 +1,6 @@ +0000000000000000000000000000000000000000 e3d159dd7383cb06acf7787f1c0d5370a0417a1c Karol Lassak 1385717882 +0100 commit (initial): Added readme +e3d159dd7383cb06acf7787f1c0d5370a0417a1c 234342815bc16c473495871118b3dc5ee68a8a4a Karol Lassak 1385717914 +0100 commit: Moved master +234342815bc16c473495871118b3dc5ee68a8a4a e3d159dd7383cb06acf7787f1c0d5370a0417a1c Karol Lassak 1385717941 +0100 checkout: moving from master to master^ +e3d159dd7383cb06acf7787f1c0d5370a0417a1c e3d159dd7383cb06acf7787f1c0d5370a0417a1c Karol Lassak 1385717955 +0100 checkout: moving from e3d159dd7383cb06acf7787f1c0d5370a0417a1c to test +e3d159dd7383cb06acf7787f1c0d5370a0417a1c 9cb810e57e2994f38c7ec6a698a31de66fdd9e24 Karol Lassak 1385717971 +0100 commit: Change in tag +9cb810e57e2994f38c7ec6a698a31de66fdd9e24 234342815bc16c473495871118b3dc5ee68a8a4a Karol Lassak 1385718126 +0100 checkout: moving from test to master diff --git a/src/test/resources/_git_with_tag_on_different_branch/logs/refs/heads/master b/src/test/resources/_git_with_tag_on_different_branch/logs/refs/heads/master new file mode 100644 index 0000000..90bbbbc --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/logs/refs/heads/master @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 e3d159dd7383cb06acf7787f1c0d5370a0417a1c Karol Lassak 1385717882 +0100 commit (initial): Added readme +e3d159dd7383cb06acf7787f1c0d5370a0417a1c 234342815bc16c473495871118b3dc5ee68a8a4a Karol Lassak 1385717914 +0100 commit: Moved master diff --git a/src/test/resources/_git_with_tag_on_different_branch/logs/refs/heads/test b/src/test/resources/_git_with_tag_on_different_branch/logs/refs/heads/test new file mode 100644 index 0000000..cfa7f22 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/logs/refs/heads/test @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 e3d159dd7383cb06acf7787f1c0d5370a0417a1c Karol Lassak 1385717955 +0100 branch: Created from HEAD +e3d159dd7383cb06acf7787f1c0d5370a0417a1c 9cb810e57e2994f38c7ec6a698a31de66fdd9e24 Karol Lassak 1385717971 +0100 commit: Change in tag diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/23/4342815bc16c473495871118b3dc5ee68a8a4a b/src/test/resources/_git_with_tag_on_different_branch/objects/23/4342815bc16c473495871118b3dc5ee68a8a4a new file mode 100644 index 0000000..6ff590f --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/objects/23/4342815bc16c473495871118b3dc5ee68a8a4a @@ -0,0 +1 @@ +xM0@a=MȔLIqbhjKr~#|//q|Th ,>G ,-}lDlDij*Iu) &9f@YGL2ZMw<.,WͰ)Gs+k3 G&8i {Ԉ*nUԵ`嫨b&Ke \ No newline at end of file diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/53/926330ba010a18efab4af2244beb12d96de8de b/src/test/resources/_git_with_tag_on_different_branch/objects/53/926330ba010a18efab4af2244beb12d96de8de new file mode 100644 index 0000000..b5daec4 Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/objects/53/926330ba010a18efab4af2244beb12d96de8de differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/53/a90bffae3d87177f8eeb064b8fc81d1f9a3781 b/src/test/resources/_git_with_tag_on_different_branch/objects/53/a90bffae3d87177f8eeb064b8fc81d1f9a3781 new file mode 100644 index 0000000..12f46e2 Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/objects/53/a90bffae3d87177f8eeb064b8fc81d1f9a3781 differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/55/3cb2a70e3820b490169f619ab591aa46269695 b/src/test/resources/_git_with_tag_on_different_branch/objects/55/3cb2a70e3820b490169f619ab591aa46269695 new file mode 100644 index 0000000..10d0786 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/objects/55/3cb2a70e3820b490169f619ab591aa46269695 @@ -0,0 +1 @@ +x+)JMU0`040031Q(JMLM+(a^mx}k6XD \ No newline at end of file diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/6f/76045802d98ae275cbbbdaf3eed694f6774777 b/src/test/resources/_git_with_tag_on_different_branch/objects/6f/76045802d98ae275cbbbdaf3eed694f6774777 new file mode 100644 index 0000000..d24603a Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/objects/6f/76045802d98ae275cbbbdaf3eed694f6774777 differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/8f/d26be268fd77188a08f064b0c80d34b0ba89c4 b/src/test/resources/_git_with_tag_on_different_branch/objects/8f/d26be268fd77188a08f064b0c80d34b0ba89c4 new file mode 100644 index 0000000..c979879 Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/objects/8f/d26be268fd77188a08f064b0c80d34b0ba89c4 differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/9c/b810e57e2994f38c7ec6a698a31de66fdd9e24 b/src/test/resources/_git_with_tag_on_different_branch/objects/9c/b810e57e2994f38c7ec6a698a31de66fdd9e24 new file mode 100644 index 0000000..8c60848 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/objects/9c/b810e57e2994f38c7ec6a698a31de66fdd9e24 @@ -0,0 +1 @@ +xA0@Q=MHLI1q_.x]YTεD6E+赗PK\] R&IS (%l<`[=M [# F#r \d\e]OմX ]=# ;FGg |yPg(2WK \ No newline at end of file diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/dc/033fe75e04c5b74428bfd15fb6189843af0214 b/src/test/resources/_git_with_tag_on_different_branch/objects/dc/033fe75e04c5b74428bfd15fb6189843af0214 new file mode 100644 index 0000000..7a03b6a Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/objects/dc/033fe75e04c5b74428bfd15fb6189843af0214 differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/e3/d159dd7383cb06acf7787f1c0d5370a0417a1c b/src/test/resources/_git_with_tag_on_different_branch/objects/e3/d159dd7383cb06acf7787f1c0d5370a0417a1c new file mode 100644 index 0000000..84ca392 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/objects/e3/d159dd7383cb06acf7787f1c0d5370a0417a1c @@ -0,0 +1,4 @@ +xM +0@a9셐I"KLQK["ibۼʺN 0ҡUpK`֌=tH<:B[Ow{ +Weo0?e9I?G`]AcTڿM/KΒ +UL< \ No newline at end of file diff --git a/src/test/resources/_git_with_tag_on_different_branch/objects/e6/9336e9b0991073c1f12fbb6c60feae7870ed22 b/src/test/resources/_git_with_tag_on_different_branch/objects/e6/9336e9b0991073c1f12fbb6c60feae7870ed22 new file mode 100644 index 0000000..e4efcb2 Binary files /dev/null and b/src/test/resources/_git_with_tag_on_different_branch/objects/e6/9336e9b0991073c1f12fbb6c60feae7870ed22 differ diff --git a/src/test/resources/_git_with_tag_on_different_branch/refs/heads/master b/src/test/resources/_git_with_tag_on_different_branch/refs/heads/master new file mode 100644 index 0000000..943a8e3 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/refs/heads/master @@ -0,0 +1 @@ +234342815bc16c473495871118b3dc5ee68a8a4a diff --git a/src/test/resources/_git_with_tag_on_different_branch/refs/heads/test b/src/test/resources/_git_with_tag_on_different_branch/refs/heads/test new file mode 100644 index 0000000..8283990 --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/refs/heads/test @@ -0,0 +1 @@ +9cb810e57e2994f38c7ec6a698a31de66fdd9e24 diff --git a/src/test/resources/_git_with_tag_on_different_branch/refs/tags/test_tag b/src/test/resources/_git_with_tag_on_different_branch/refs/tags/test_tag new file mode 100644 index 0000000..b0ef69b --- /dev/null +++ b/src/test/resources/_git_with_tag_on_different_branch/refs/tags/test_tag @@ -0,0 +1 @@ +8fd26be268fd77188a08f064b0c80d34b0ba89c4 diff --git a/src/test/resources/git.properties b/src/test/resources/git.properties new file mode 100644 index 0000000..790e93d --- /dev/null +++ b/src/test/resources/git.properties @@ -0,0 +1,32 @@ +# +# This file is part of git-commit-id-plugin by Konrad Malawski +# +# git-commit-id-plugin is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# git-commit-id-plugin is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with git-commit-id-plugin. If not, see . +# + +git.branch=${git.branch} + +git.build.user.name=${git.build.user.name} +git.build.user.email=${git.build.user.email} +git.build.time=${git.build.time} + +git.commit.id=${git.commit.id} +git.commit.id.abbrev=${git.commit.id.abbrev} +git.commit.user.name=${git.commit.user.name} +git.commit.user.email=${git.commit.user.email} +git.commit.message.full=${git.commit.message.full} +git.commit.message.short=${git.commit.message.short} +git.commit.time=${git.commit.time} + +git.remote.origin.url=${git.remote.origin.url} diff --git a/submodule-one/example/git.properties b/submodule-one/example/git.properties index f3e1b12..09bdf51 100644 --- a/submodule-one/example/git.properties +++ b/submodule-one/example/git.properties @@ -1,15 +1,16 @@ #Generated by Git-Commit-Id-Plugin -#Sat Nov 16 23:13:27 GMT 2013 -git.commit.id.abbrev=0c06cf3 -git.commit.user.email=konrad.malawski@java.pl -git.commit.message.full=Merge pull request \#79 from deadmoose/patch-2\n\nUpdate README.md with the latest release -git.commit.id=0c06cf34ec0fec6c1e8ebcd90b52085c7c6e3436 -git.commit.message.short=Merge pull request \#79 from deadmoose/patch-2 +#Sun Jul 13 01:25:03 CEST 2014 +git.commit.id.abbrev=b3d93c4 +git.commit.user.email=konrad.malawski@project13.pl +git.commit.message.full=no travis needed here\n +git.commit.id=b3d93c442ee62c888ce78a2bdd54c211a58da84c +git.commit.id.describe-short=b3d93c4 +git.commit.message.short=no travis needed here git.commit.user.name=Konrad Malawski -git.build.user.name=Konrad Malawski -git.commit.id.describe=v2.1.7-6-g0c06cf3 -git.build.user.email=konrad.malawski@project13.pl +git.build.user.name=S L +git.commit.id.describe=b3d93c4 +git.build.user.email=s.lange@mailbox.tu-berlin.de git.branch=master -git.commit.time=13.11.2013 @ 07\:25\:38 GMT -git.build.time=16.11.2013 @ 23\:13\:27 GMT -git.remote.origin.url=git@github.com\:ktoso/maven-git-commit-id-plugin.git +git.commit.time=17.11.2013 @ 00\:15\:57 MEZ +git.build.time=13.07.2014 @ 01\:25\:03 MESZ +git.remote.origin.url=git@github.com\:ktoso/git-commit-id-debugging.git diff --git a/submodule-one/pom.xml b/submodule-one/pom.xml index 70e5bdd..bade111 100644 --- a/submodule-one/pom.xml +++ b/submodule-one/pom.xml @@ -7,12 +7,12 @@ pl.project13.maven git-commit-id-plugin - 2.1.8-SNAPSHOT + 2.1.10 pl.project13.maven submodule-one - 2.1.8-SNAPSHOT + 2.1.10 - \ No newline at end of file + diff --git a/submodule-two/example/git.properties b/submodule-two/example/git.properties index 156bc49..09bdf51 100644 --- a/submodule-two/example/git.properties +++ b/submodule-two/example/git.properties @@ -1,15 +1,16 @@ #Generated by Git-Commit-Id-Plugin -#Sat Nov 16 23:13:28 GMT 2013 -git.commit.id.abbrev=0c06cf3 -git.commit.user.email=konrad.malawski@java.pl -git.commit.message.full=Merge pull request \#79 from deadmoose/patch-2\n\nUpdate README.md with the latest release -git.commit.id=0c06cf34ec0fec6c1e8ebcd90b52085c7c6e3436 -git.commit.message.short=Merge pull request \#79 from deadmoose/patch-2 +#Sun Jul 13 01:25:03 CEST 2014 +git.commit.id.abbrev=b3d93c4 +git.commit.user.email=konrad.malawski@project13.pl +git.commit.message.full=no travis needed here\n +git.commit.id=b3d93c442ee62c888ce78a2bdd54c211a58da84c +git.commit.id.describe-short=b3d93c4 +git.commit.message.short=no travis needed here git.commit.user.name=Konrad Malawski -git.build.user.name=Konrad Malawski -git.commit.id.describe=v2.1.7-6-g0c06cf3 -git.build.user.email=konrad.malawski@project13.pl +git.build.user.name=S L +git.commit.id.describe=b3d93c4 +git.build.user.email=s.lange@mailbox.tu-berlin.de git.branch=master -git.commit.time=13.11.2013 @ 07\:25\:38 GMT -git.build.time=16.11.2013 @ 23\:13\:28 GMT -git.remote.origin.url=git@github.com\:ktoso/maven-git-commit-id-plugin.git +git.commit.time=17.11.2013 @ 00\:15\:57 MEZ +git.build.time=13.07.2014 @ 01\:25\:03 MESZ +git.remote.origin.url=git@github.com\:ktoso/git-commit-id-debugging.git diff --git a/submodule-two/pom.xml b/submodule-two/pom.xml index 5a83463..4fbb39b 100644 --- a/submodule-two/pom.xml +++ b/submodule-two/pom.xml @@ -7,13 +7,13 @@ pl.project13.maven git-commit-id-plugin - 2.1.8-SNAPSHOT + 2.1.10 pl.project13.maven submodule-two - 2.1.8-SNAPSHOT + 2.1.10 jar - \ No newline at end of file +