asfgit closed pull request #74: [SCM-885] third implementation URL: https://github.com/apache/maven-scm/pull/74
This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/.gitattributes b/.gitattributes index 3bb3b5ea8..d09ce69a2 100644 --- a/.gitattributes +++ b/.gitattributes @@ -6,3 +6,8 @@ *.css text *.js text *.sql text + +/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/** binary +/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/** binary +/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/* text eol=lf +/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/* text eol=lf \ No newline at end of file diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java index b8473ab0b..61242c36f 100644 --- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java +++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/AbstractChangeLogCommand.java @@ -55,6 +55,14 @@ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo throw new ScmException( "Unsupported method for this provider." ); } + @Deprecated + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion version, String datePattern ) + throws ScmException + { + throw new ScmException( "Unsupported method for this provider." ); + } + /** * {@inheritDoc} */ @@ -76,13 +84,21 @@ public ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fi ScmBranch branch = (ScmBranch) parameters.getScmVersion( CommandParameter.BRANCH, null ); + ScmVersion version = parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); + ScmVersion startVersion = parameters.getScmVersion( CommandParameter.START_SCM_VERSION, null ); ScmVersion endVersion = parameters.getScmVersion( CommandParameter.END_SCM_VERSION, null ); String datePattern = parameters.getString( CommandParameter.CHANGELOG_DATE_PATTERN, null ); - if ( startVersion != null || endVersion != null ) + boolean uniqueUsageOfVersion = startVersion == null && endVersion == null && version != null; + + if ( uniqueUsageOfVersion ) + { + return executeChangeLogCommand( repository, fileSet, version, datePattern ); + } + else if ( startVersion != null || endVersion != null ) { return executeChangeLogCommand( repository, fileSet, startVersion, endVersion, datePattern ); } diff --git a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java index f96c12603..f8723c1c2 100644 --- a/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java +++ b/maven-scm-api/src/main/java/org/apache/maven/scm/command/changelog/ChangeLogScmRequest.java @@ -175,4 +175,15 @@ public void setDateRange( Date startDate, Date endDate ) setEndDate( endDate ); } + public void setRevision( ScmVersion revision ) + throws ScmException + { + parameters.setScmVersion( CommandParameter.SCM_VERSION, revision ); + } + + public ScmVersion getRevision() + throws ScmException + { + return parameters.getScmVersion( CommandParameter.SCM_VERSION, null ); + } } diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java index 2145eeb83..50b8df861 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/main/java/org/apache/maven/scm/provider/git/gitexe/command/changelog/GitChangeLogCommand.java @@ -69,6 +69,14 @@ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, null, null ); } + @Override + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion version, String datePattern ) + throws ScmException + { + return executeChangeLogCommand( repository, fileSet, null, null, null, datePattern, null, null, null, version ); + } + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, Date startDate, Date endDate, ScmBranch branch, String datePattern, ScmVersion startVersion, @@ -76,7 +84,7 @@ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo throws ScmException { return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, startVersion, - endVersion, null ); + endVersion, null, null ); } @Override @@ -85,21 +93,38 @@ protected ChangeLogScmResult executeChangeLogCommand( ChangeLogScmRequest reques { final ScmVersion startVersion = request.getStartRevision(); final ScmVersion endVersion = request.getEndRevision(); + final ScmVersion revision = request.getRevision(); final ScmFileSet fileSet = request.getScmFileSet(); final String datePattern = request.getDatePattern(); - return executeChangeLogCommand( request.getScmRepository().getProviderRepository(), fileSet, - request.getStartDate(), request.getEndDate(), request.getScmBranch(), datePattern, startVersion, - endVersion, request.getLimit() ); + final ScmProviderRepository providerRepository = request.getScmRepository().getProviderRepository(); + final Date startDate = request.getStartDate(); + final Date endDate = request.getEndDate(); + final ScmBranch branch = request.getScmBranch(); + final Integer limit = request.getLimit(); + + return executeChangeLogCommand( providerRepository, fileSet, startDate, endDate, branch, datePattern, + startVersion, endVersion, limit, revision ); } + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, Date startDate, Date endDate, ScmBranch branch, String datePattern, ScmVersion startVersion, ScmVersion endVersion, Integer limit ) throws ScmException + { + return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, + startVersion, endVersion, limit, null ); + } + + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, + Date startDate, Date endDate, ScmBranch branch, + String datePattern, ScmVersion startVersion, + ScmVersion endVersion, Integer limit, ScmVersion version ) + throws ScmException { Commandline cl = createCommandLine( (GitScmProviderRepository) repo, fileSet.getBasedir(), branch, startDate, - endDate, startVersion, endVersion, limit ); + endDate, startVersion, endVersion, limit, version ); GitChangeLogConsumer consumer = new GitChangeLogConsumer( getLogger(), datePattern ); @@ -136,9 +161,18 @@ public static Commandline createCommandLine( GitScmProviderRepository repository null ); } + static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, + ScmBranch branch, Date startDate, Date endDate, + ScmVersion startVersion, ScmVersion endVersion, Integer limit ) + { + return createCommandLine( repository, workingDirectory, branch, startDate, endDate, startVersion, endVersion, + limit, null ); + } + static Commandline createCommandLine( GitScmProviderRepository repository, File workingDirectory, ScmBranch branch, Date startDate, Date endDate, - ScmVersion startVersion, ScmVersion endVersion, Integer limit ) + ScmVersion startVersion, ScmVersion endVersion, Integer limit, + ScmVersion version ) { SimpleDateFormat dateFormat = new SimpleDateFormat( DATE_FORMAT ); dateFormat.setTimeZone( TimeZone.getTimeZone( "GMT" ) ); @@ -166,21 +200,25 @@ static Commandline createCommandLine( GitScmProviderRepository repository, File if ( startVersion != null || endVersion != null ) { StringBuilder versionRange = new StringBuilder(); - + if ( startVersion != null ) { versionRange.append( StringUtils.escape( startVersion.getName() ) ); } versionRange.append( ".." ); - + if ( endVersion != null ) { versionRange.append( StringUtils.escape( endVersion.getName() ) ); } - - cl.createArg().setValue( versionRange.toString() ); + cl.createArg().setValue( versionRange.toString() ); + + } + else if ( version != null ) + { + cl.createArg().setValue( StringUtils.escape( version.getName() ) ); } if ( limit != null && limit > 0 ) diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config new file mode 100644 index 000000000..64280b806 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/config @@ -0,0 +1,6 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = true + symlinks = false + ignorecase = true diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/applypatch-msg b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/applypatch-msg new file mode 100644 index 000000000..02de1ef84 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/applypatch-msg @@ -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, make this file executable. + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/commit-msg b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/commit-msg new file mode 100644 index 000000000..c5cdb9d7e --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/commit-msg @@ -0,0 +1,21 @@ +#!/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, make this file executable. + +# Uncomment the below to add a Signed-off-by line to the message. +# 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/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/empty.txt b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/empty.txt new file mode 100644 index 000000000..e69de29bb diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-commit b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-commit new file mode 100644 index 000000000..8be6f34ad --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-commit @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script that is called after a successful +# commit is made. +# +# To enable this hook, make this file executable. + +: Nothing diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-receive b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-receive new file mode 100644 index 000000000..b70c8fd36 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-receive @@ -0,0 +1,16 @@ +#!/bin/sh +# +# An example hook script for the post-receive event +# +# This 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 +# <oldrev> <newrev> <refname> +# For example: +# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master +# +# see contrib/hooks/ for an sample, or uncomment the next line (on debian) +# + + +#. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-update b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-update new file mode 100644 index 000000000..bcba8937b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/post-update @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, make this file executable by "chmod +x post-update". + +exec git-update-server-info diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-applypatch b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-applypatch new file mode 100644 index 000000000..eeccc934c --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-applypatch @@ -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, make this file executable. + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-commit b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-commit new file mode 100644 index 000000000..18b87309f --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-commit @@ -0,0 +1,70 @@ +#!/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, make this file executable. + +# This is slightly modified from Andrew Morton's Perfect Patch. +# Lines you introduce should not have trailing whitespace. +# Also check for an indentation that has SP before a TAB. + +if git-rev-parse --verify HEAD 2>/dev/null +then + git-diff-index -p -M --cached HEAD +else + # NEEDSWORK: we should produce a diff with an empty tree here + # if we want to do the same verification for the initial import. + : +fi | +perl -e ' + my $found_bad = 0; + my $filename; + my $reported_filename = ""; + my $lineno; + sub bad_line { + my ($why, $line) = @_; + if (!$found_bad) { + print STDERR "*\n"; + print STDERR "* You have some suspicious patch lines:\n"; + print STDERR "*\n"; + $found_bad = 1; + } + if ($reported_filename ne $filename) { + print STDERR "* In $filename\n"; + $reported_filename = $filename; + } + print STDERR "* $why (line $lineno)\n"; + print STDERR "$filename:$lineno:$line\n"; + } + while (<>) { + if (m|^diff --git a/(.*) b/\1$|) { + $filename = $1; + next; + } + if (/^@@ -\S+ \+(\d+)/) { + $lineno = $1 - 1; + next; + } + if (/^ /) { + $lineno++; + next; + } + if (s/^\+//) { + $lineno++; + chomp; + if (/\s$/) { + bad_line("trailing whitespace", $_); + } + if (/^\s* /) { + bad_line("indent SP followed by a TAB", $_); + } + if (/^(?:[<>=]){7}/) { + bad_line("unresolved merge conflict", $_); + } + } + } + exit($found_bad); +' diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-rebase b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-rebase new file mode 100644 index 000000000..981c454cd --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/pre-rebase @@ -0,0 +1,150 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` +fi + +case "$basebranch,$topic" in +master,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? + +# 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"` + 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/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/update b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/update new file mode 100644 index 000000000..d8c76264b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/hooks/update @@ -0,0 +1,78 @@ +#!/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, make this file executable by "chmod +x update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# + +# --- 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 <ref> <oldrev> <newrev>)" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 <ref> <oldrev> <newrev>" >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git-repo-config --bool hooks.allowunannotated) + +# check for no description +projectdesc=$(sed -e '1p' "$GIT_DIR/description") +if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb" ]; then + echo "*** Project description file hasn't been set" >&2 + exit 1 +fi + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a branch +if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then + newrev_type=commit +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/*,tag) + # annotated tag + ;; + refs/heads/*,commit) + # branch + ;; + refs/remotes/*,commit) + # tracking branch + ;; + *) + # 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/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 new file mode 100644 index 000000000..ac65cb3c7 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 @@ -0,0 +1,3 @@ +x��� +�0E]�+f/�ɴyD\��/&� Uh#1��ەk7�Á7�u�w ���婤���,�6 +�ʈ��}L��G��<���A���qD B^���3�-����%���}� nu��ZN���zy�U?�6r]�`��������~��q$�����u2_�Fu \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 new file mode 100644 index 000000000..01f125c23 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d new file mode 100644 index 000000000..6b6bfad97 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 new file mode 100644 index 000000000..c8859bdcc Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 new file mode 100644 index 000000000..a02d566bd --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 @@ -0,0 +1 @@ +x�����0DS�+�?��%+p���/$�;`+���Qu�M1 Li۶v�֝�P�/,5K�2y��١j��T}u�<Ӂ���)hp��Q@,6��)!r.�T&����i�N��~�uֆ�o��^p�\�v%���Xf��3���Oy.�?٤��7��F� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 new file mode 100644 index 000000000..e99835886 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b new file mode 100644 index 000000000..8757376ec Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 new file mode 100644 index 000000000..bca48ac73 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 new file mode 100644 index 000000000..26470dbae Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f new file mode 100644 index 000000000..6c72457a9 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 new file mode 100644 index 000000000..395982916 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 new file mode 100644 index 000000000..3da7dc7ad Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 new file mode 100644 index 000000000..413852b65 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 new file mode 100644 index 000000000..53ded79b3 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d new file mode 100644 index 000000000..0c410ef5b Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 new file mode 100644 index 000000000..32aa1ac8e Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 new file mode 100644 index 000000000..94939851d Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b new file mode 100644 index 000000000..afce44472 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f new file mode 100644 index 000000000..8437a7c3d Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 new file mode 100644 index 000000000..314330e20 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 new file mode 100644 index 000000000..fe99cd8b9 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 new file mode 100644 index 000000000..1612db5a2 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 @@ -0,0 +1,3 @@ +x��A +�0E]��J��i& ��H'S��Fj��ەk7�ǃ_���}8��"φ�:�hZ(Q�QHE� ���7[� M0ƞG�!E1.9O�m*c�IB�P\~��np�� +�jpz�ԕj�W]�3�f���H =����x���b�c�y��.k����(�E� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 new file mode 100644 index 000000000..461ba2fc7 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde new file mode 100644 index 000000000..d3fda4b86 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde @@ -0,0 +1,2 @@ +x��A +�0E]��Jf��q��[L��Vh#1���ʵ�x��纮K"w�M��<&+T�gGw$v<L��(){�S�n�q�%j�1�4�".q6"�D���b�����V� �U���i(U/���g֦C��p�82��p���n��]��Ʌ���ܗ��7_�rD� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea new file mode 100644 index 000000000..60f2a188e Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 new file mode 100644 index 000000000..fbfefebd9 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 new file mode 100644 index 000000000..7bc52640e --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 @@ -0,0 +1,3 @@ +x��K +1P�9E�!���".\y�N�2#�Db�뛅�VE���u��D�Л���/�4S�6�#1|��H����Y=���ALp�D�6F���X�d�FG :�'����R��õ +��M���U7�,�d�u;���5�����O�ut������U_��D� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 new file mode 100644 index 000000000..256052c2c Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e new file mode 100644 index 000000000..b543850b6 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 new file mode 100644 index 000000000..6c36970db Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs new file mode 100644 index 000000000..d0314ac6b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +464921bc7cbaaae0779fc863724302d1148d6097 refs/heads/master diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/refs/heads/.keep-directory b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/refs/heads/.keep-directory new file mode 100644 index 000000000..e69de29bb diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/refs/tags/.keep-directory b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/src/test/resources/linear-changelog/refs/tags/.keep-directory new file mode 100644 index 000000000..e69de29bb diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt new file mode 100644 index 000000000..402847bea --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/readme.txt @@ -0,0 +1,83 @@ +####################################### +Description of linear-changelog repository +####################################### + +The 'linear-changelog' repositories in src\test\resources of git implementations has been created + - using the script below + - and then using a `clone --bare` command + +- - - - - - - - - - - - - - - - +Repository structure +- - - - - - - - - - - - - - - - + + $ git log --graph --format="%h - %s (authored) <%an> %ai (commited) <%cn> %ci" + * 464921b - action 5 (authored) <John Doe> 2017-10-01 12:00:00 +0000 (commited) <John Doe> 2017-10-10 12:00:00 +0000 + * db46d63 - action 4 (authored) <John Doe> 2017-08-01 12:00:00 +0000 (commited) <John Doe> 2017-08-10 12:00:00 +0000 + * e3864d9 - action 3 (authored) <John Doe> 2017-06-01 12:00:00 +0000 (commited) <John Doe> 2017-06-10 12:00:00 +0000 + * 0f1e817 - action 2 (authored) <John Doe> 2017-04-01 12:00:00 +0000 (commited) <John Doe> 2017-04-10 12:00:00 +0000 + * e75cb5a - action 1 (authored) <John Doe> 2017-02-01 12:00:00 +0000 (commited) <John Doe> 2017-02-10 12:00:00 +0000 + +- - - - - - - - - - - - - - - - +Creation script +- - - - - - - - - - - - - - - - + #!/bin/sh + + cd /tmp + rm -rf linear-changelog + mkdir linear-changelog + cd linear-changelog + git init + git config user.name "John Doe" + git config user.email "john....@somewhere.com" + + mkdir -p src/main/java + mkdir -p src/test/java + + echo -n "/pom.xml" > pom.xml + echo -n "/readme.txt" > readme.txt + echo -n "/src/main/java/Application.java" > src/main/java/Application.java + echo -n "/src/test/java/Test.java" > src/test/java/Test.java + + echo "## Linear changelog" >> README.md + git add . + + echo "- 1" >> README.md + git add -u + git commit -m "action 1" + export GIT_AUTHOR_DATE="2017-02-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-02-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 2" >> README.md + git add -u + git commit -m "action 2" + export GIT_AUTHOR_DATE="2017-04-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-04-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 3" >> README.md + git add -u + git commit -m "action 3" + export GIT_AUTHOR_DATE="2017-06-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-06-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 4" >> README.md + git add -u + git commit -m "action 4" + export GIT_AUTHOR_DATE="2017-08-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-08-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + echo "- 5" >> README.md + git add -u + git commit -m "action 5" + export GIT_AUTHOR_DATE="2017-10-01T12:00:00Z" + export GIT_COMMITTER_DATE="2017-10-10T12:00:00Z" + git commit --amend --no-edit --date "$GIT_AUTHOR_DATE" + + unset GIT_COMMITTER_DATE + + echo Repository created. + git log --graph --format="%h - %s (authored) <%an> %ai (commited) <%cn> %ci" + diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java index 0faa49681..1dceccc8c 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gittest/src/main/java/org/apache/maven/scm/provider/git/command/changelog/GitChangeLogCommandTckTest.java @@ -19,12 +19,22 @@ * under the License. */ +import org.apache.maven.scm.ChangeSet; +import org.apache.maven.scm.ScmFileSet; +import org.apache.maven.scm.ScmRevision; +import org.apache.maven.scm.command.changelog.ChangeLogScmRequest; +import org.apache.maven.scm.command.changelog.ChangeLogScmResult; import org.apache.maven.scm.command.checkout.CheckOutScmResult; +import org.apache.maven.scm.provider.ScmProvider; import org.apache.maven.scm.provider.git.GitScmTestUtils; import org.apache.maven.scm.repository.ScmRepository; import org.apache.maven.scm.tck.command.changelog.ChangeLogCommandTckTest; import java.io.File; +import java.util.List; + +import static org.hamcrest.CoreMatchers.startsWith; +import static org.junit.Assert.assertThat; /** * @author <a href="mailto:strub...@yahoo.de">Mark Struberg</a> @@ -32,12 +42,13 @@ public abstract class GitChangeLogCommandTckTest extends ChangeLogCommandTckTest { + public static final int SLEEP_TIME_IN_MILLIS = 250; /** {@inheritDoc} */ public void initRepo() throws Exception { - GitScmTestUtils.initRepo( "src/test/resources/repository/", getRepositoryRoot(), getWorkingDirectory() ); + GitScmTestUtils.initRepo( "src/test/resources/linear-changelog/", getRepositoryRoot(), getWorkingDirectory() ); } @Override @@ -52,4 +63,170 @@ protected CheckOutScmResult checkOut( File workingDirectory, ScmRepository repos GitScmTestUtils.setDefaultUser( workingDirectory ); } } + + public void testChangeLogCommandFromHeadAncestorAndHead() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "HEAD~1"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "HEAD"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s..%s returned bad number of commits", startVersion, endVersion ), + 1, logEntries.size() ); + + + assertThat( "bad head commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "464921b" ) ); + } + + public void testChangeLogCommandFromHeadToHead() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "HEAD"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "HEAD"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s..%s returned bad number of commits", startVersion, endVersion ), + 0, logEntries.size() ); + } + + public void testChangeLogCommandFromUndefinedToHead() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String endVersion = "HEAD"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for ..%s returned bad number of commits", endVersion ), + 0, logEntries.size() ); + } + + public void testChangeLogCommandFromVersionToUndefined() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "e3864d9"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s.. returned bad number of commits", startVersion ), + 2, logEntries.size() ); + + assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "464921b" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "db46d63" ) ); + } + + public void testChangeLogCommandFromVoneToVtwo() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "0f1e817"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "db46d63"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s.. returned bad number of commits", startVersion ), + 2, logEntries.size() ); + + assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "db46d63" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "e3864d9" ) ); + } + + public void testChangeLogCommandWithStartEndInBadOrder() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String startVersion = "db46d63"; + clr.setStartRevision( new ScmRevision( startVersion ) ); + String endVersion = "0f1e817"; + clr.setEndRevision( new ScmRevision( endVersion ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s..%s should return no commits", startVersion, endVersion ), + 0, logEntries.size() ); + } + + public void testChangeLogCommandFromHEADToStartOfRepository() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String version = "HEAD"; + clr.setRevision( new ScmRevision( version ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s returned bad number of commits", version ), + 5, logEntries.size() ); + } + + public void testChangeLogCommandFromVersionToStartOfRepository() + throws Exception + { + Thread.sleep( SLEEP_TIME_IN_MILLIS ); + ScmRepository scmRepository = getScmRepository(); + ScmProvider provider = getScmManager().getProviderByRepository( scmRepository ); + ScmFileSet fileSet = new ScmFileSet( getWorkingCopy() ); + + ChangeLogScmRequest clr = new ChangeLogScmRequest( scmRepository, fileSet ); + String version = "db46d63"; + clr.setRevision( new ScmRevision( version ) ); + ChangeLogScmResult changelogResult = provider.changeLog( clr ); + + List<ChangeSet> logEntries = changelogResult.getChangeLog().getChangeSets(); + assertEquals( String.format( "changelog for %s returned bad number of commits", version ), + 4, logEntries.size() ); + + assertThat( "bad commit SHA1 retrieved", logEntries.get( 0 ).getRevision(), startsWith( "db46d63" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 1 ).getRevision(), startsWith( "e3864d9" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 2 ).getRevision(), startsWith( "0f1e817" ) ); + assertThat( "bad commit SHA1 retrieved", logEntries.get( 3 ).getRevision(), startsWith( "e75cb5a" ) ); + } } diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java index a8fef0160..db556a480 100644 --- a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/main/java/org/apache/maven/scm/provider/git/jgit/command/changelog/JGitChangeLogCommand.java @@ -64,6 +64,14 @@ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo return executeChangeLogCommand( repo, fileSet, null, null, null, datePattern, startVersion, endVersion ); } + @Override + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repository, ScmFileSet fileSet, + ScmVersion version, String datePattern ) + throws ScmException + { + return executeChangeLogCommand( repository, fileSet, null, null, null, datePattern, null, null, version ); + } + /** * {@inheritDoc} */ @@ -80,14 +88,39 @@ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo String datePattern, ScmVersion startVersion, ScmVersion endVersion ) throws ScmException + { + return executeChangeLogCommand( repo, fileSet, startDate, endDate, branch, datePattern, + startVersion, endVersion, null ); + } + + protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo, ScmFileSet fileSet, + Date startDate, Date endDate, ScmBranch branch, + String datePattern, ScmVersion startVersion, + ScmVersion endVersion, ScmVersion version ) + throws ScmException { Git git = null; + boolean isARangeChangeLog = startVersion != null || endVersion != null; + try { git = JGitUtils.openRepo( fileSet.getBasedir() ); - String startRev = startVersion != null ? startVersion.getName() : null; - String endRev = endVersion != null ? endVersion.getName() : null; + boolean fromVersionToStartOfRepository = startVersion == null && endVersion == null && version != null; + + String startRev = null; + String endRev = null; + + if ( fromVersionToStartOfRepository ) + { + startRev = null; + endRev = version.getName(); + } + else + { + startRev = startVersion != null ? startVersion.getName() : ( isARangeChangeLog ? "HEAD" : null ); + endRev = endVersion != null ? endVersion.getName() : ( isARangeChangeLog ? "HEAD" : null ); + } List<ChangeEntry> gitChanges = this.whatchanged( git.getRepository(), null, startRev, endRev, startDate, endDate, -1 ); @@ -130,6 +163,12 @@ protected ChangeLogScmResult executeChangeLogCommand( ScmProviderRepository repo List<RevCommit> revs = JGitUtils.getRevCommits( repo, sortings, fromRev, toRev, fromDate, toDate, maxLines ); List<ChangeEntry> changes = new ArrayList<ChangeEntry>( revs.size() ); + if ( fromRev != null && fromRev.equals( toRev ) ) + { + // there are no changes between 2 identical versions + return changes; + } + for ( RevCommit c : revs ) { ChangeEntry ce = new ChangeEntry(); diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config new file mode 100644 index 000000000..04d1dd5f1 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/config @@ -0,0 +1,8 @@ +[core] + repositoryformatversion = 0 + filemode = false + bare = true + symlinks = false + ignorecase = true +[remote "origin"] + url = D:\\Users\\awxgx\\AppData\\Local\\Temp\\linear-changelog diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/applypatch-msg b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/applypatch-msg new file mode 100644 index 000000000..02de1ef84 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/applypatch-msg @@ -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, make this file executable. + +. git-sh-setup +test -x "$GIT_DIR/hooks/commit-msg" && + exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"} +: diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/commit-msg b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/commit-msg new file mode 100644 index 000000000..c5cdb9d7e --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/commit-msg @@ -0,0 +1,21 @@ +#!/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, make this file executable. + +# Uncomment the below to add a Signed-off-by line to the message. +# 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/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/empty.txt b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/empty.txt new file mode 100644 index 000000000..e69de29bb diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-commit b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-commit new file mode 100644 index 000000000..8be6f34ad --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-commit @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script that is called after a successful +# commit is made. +# +# To enable this hook, make this file executable. + +: Nothing diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-receive b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-receive new file mode 100644 index 000000000..b70c8fd36 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-receive @@ -0,0 +1,16 @@ +#!/bin/sh +# +# An example hook script for the post-receive event +# +# This 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 +# <oldrev> <newrev> <refname> +# For example: +# aa453216d1b3e49e7f6f98441fa56946ddcd6a20 68f7abf4e6f922807889f52bc043ecd31b79f814 refs/heads/master +# +# see contrib/hooks/ for an sample, or uncomment the next line (on debian) +# + + +#. /usr/share/doc/git-core/contrib/hooks/post-receive-email diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-update b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-update new file mode 100644 index 000000000..bcba8937b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/post-update @@ -0,0 +1,8 @@ +#!/bin/sh +# +# An example hook script to prepare a packed repository for use over +# dumb transports. +# +# To enable this hook, make this file executable by "chmod +x post-update". + +exec git-update-server-info diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-applypatch b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-applypatch new file mode 100644 index 000000000..eeccc934c --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-applypatch @@ -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, make this file executable. + +. git-sh-setup +test -x "$GIT_DIR/hooks/pre-commit" && + exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"} +: diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-commit b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-commit new file mode 100644 index 000000000..18b87309f --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-commit @@ -0,0 +1,70 @@ +#!/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, make this file executable. + +# This is slightly modified from Andrew Morton's Perfect Patch. +# Lines you introduce should not have trailing whitespace. +# Also check for an indentation that has SP before a TAB. + +if git-rev-parse --verify HEAD 2>/dev/null +then + git-diff-index -p -M --cached HEAD +else + # NEEDSWORK: we should produce a diff with an empty tree here + # if we want to do the same verification for the initial import. + : +fi | +perl -e ' + my $found_bad = 0; + my $filename; + my $reported_filename = ""; + my $lineno; + sub bad_line { + my ($why, $line) = @_; + if (!$found_bad) { + print STDERR "*\n"; + print STDERR "* You have some suspicious patch lines:\n"; + print STDERR "*\n"; + $found_bad = 1; + } + if ($reported_filename ne $filename) { + print STDERR "* In $filename\n"; + $reported_filename = $filename; + } + print STDERR "* $why (line $lineno)\n"; + print STDERR "$filename:$lineno:$line\n"; + } + while (<>) { + if (m|^diff --git a/(.*) b/\1$|) { + $filename = $1; + next; + } + if (/^@@ -\S+ \+(\d+)/) { + $lineno = $1 - 1; + next; + } + if (/^ /) { + $lineno++; + next; + } + if (s/^\+//) { + $lineno++; + chomp; + if (/\s$/) { + bad_line("trailing whitespace", $_); + } + if (/^\s* /) { + bad_line("indent SP followed by a TAB", $_); + } + if (/^(?:[<>=]){7}/) { + bad_line("unresolved merge conflict", $_); + } + } + } + exit($found_bad); +' diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-rebase b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-rebase new file mode 100644 index 000000000..981c454cd --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/pre-rebase @@ -0,0 +1,150 @@ +#!/bin/sh +# +# Copyright (c) 2006 Junio C Hamano +# + +publish=next +basebranch="$1" +if test "$#" = 2 +then + topic="refs/heads/$2" +else + topic=`git symbolic-ref HEAD` +fi + +case "$basebranch,$topic" in +master,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? + +# 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"` + 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/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/update b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/update new file mode 100644 index 000000000..d8c76264b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/hooks/update @@ -0,0 +1,78 @@ +#!/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, make this file executable by "chmod +x update". +# +# Config +# ------ +# hooks.allowunannotated +# This boolean sets whether unannotated tags will be allowed into the +# repository. By default they won't be. +# + +# --- 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 <ref> <oldrev> <newrev>)" >&2 + exit 1 +fi + +if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then + echo "Usage: $0 <ref> <oldrev> <newrev>" >&2 + exit 1 +fi + +# --- Config +allowunannotated=$(git-repo-config --bool hooks.allowunannotated) + +# check for no description +projectdesc=$(sed -e '1p' "$GIT_DIR/description") +if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb" ]; then + echo "*** Project description file hasn't been set" >&2 + exit 1 +fi + +# --- Check types +# if $newrev is 0000...0000, it's a commit to delete a branch +if [ "$newrev" = "0000000000000000000000000000000000000000" ]; then + newrev_type=commit +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/*,tag) + # annotated tag + ;; + refs/heads/*,commit) + # branch + ;; + refs/remotes/*,commit) + # tracking branch + ;; + *) + # 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/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/info/exclude @@ -0,0 +1,6 @@ +# git ls-files --others --exclude-from=.git/info/exclude +# Lines that start with '#' are comments. +# For a project mostly in C, the following would be a good set of +# exclude patterns (uncomment them if you want to use them): +# *.[oa] +# *~ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 new file mode 100644 index 000000000..ac65cb3c7 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/0f/1e817725b516978e5daaf35efdbacf83905918 @@ -0,0 +1,3 @@ +x��� +�0E]�+f/�ɴyD\��/&� Uh#1��ەk7�Á7�u�w ���婤���,�6 +�ʈ��}L��G��<���A���qD B^���3�-����%���}� nu��ZN���zy�U?�6r]�`��������~��q$�����u2_�Fu \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 new file mode 100644 index 000000000..01f125c23 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/1a/4fb3f570ad2e18dacb7f30d584868b2cea36a1 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d new file mode 100644 index 000000000..6b6bfad97 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3b/459fa9451a94fc1acd10e2e29ab73d93eb816d differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 new file mode 100644 index 000000000..c8859bdcc Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/3c/f7bb86c15554148bf5b0b12bfd639e54a77e58 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 new file mode 100644 index 000000000..a02d566bd --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/46/4921bc7cbaaae0779fc863724302d1148d6097 @@ -0,0 +1 @@ +x�����0DS�+�?��%+p���/$�;`+���Qu�M1 Li۶v�֝�P�/,5K�2y��١j��T}u�<Ӂ���)hp��Q@,6��)!r.�T&����i�N��~�uֆ�o��^p�\�v%���Xf��3���Oy.�?٤��7��F� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 new file mode 100644 index 000000000..e99835886 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/4a/cc5d1fac10c49efc02f2744eb5833367a02952 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b new file mode 100644 index 000000000..8757376ec Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/56/acdd2af7e3d7b261d231014826ca472c9f6c2b differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 new file mode 100644 index 000000000..bca48ac73 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/4a3fd04313593d67f4154855a06941046326b3 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 new file mode 100644 index 000000000..26470dbae Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/61/a0d22b023d6e31894d736cca8c1a47b6edd822 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f new file mode 100644 index 000000000..6c72457a9 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/67/b6ab2dfd7b2e2d6d9e8463489b92a1dd978d8f differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 new file mode 100644 index 000000000..395982916 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/6c/414f3448323624c05585717a988cbbb77edd88 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 new file mode 100644 index 000000000..3da7dc7ad Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/74/d05e1e1cbd488c7ecd494a1b84c8c1d1534a45 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 new file mode 100644 index 000000000..413852b65 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/7f/3fe9f669f09b9ae0a156d5a61d02c73cf39fe0 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 new file mode 100644 index 000000000..53ded79b3 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/0c7d820a2dc4832f12aa8387d1ba1211abc415 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d new file mode 100644 index 000000000..0c410ef5b Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8d/c8c65a1875c4cc0fe653df01990ba93dea368d differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 new file mode 100644 index 000000000..32aa1ac8e Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/8f/aa4bd1eb0653a81ca10b071bb138c2e27c84d9 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 new file mode 100644 index 000000000..94939851d Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/92/09a983605d6e43e5cf841a1ea18a1914bb7407 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b new file mode 100644 index 000000000..afce44472 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/95/86ea07d625757c5af7fe38f6ca7d4bdae8447b differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f new file mode 100644 index 000000000..8437a7c3d Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b2/1030901fb161c452d00b3efda5e11da6dd5f3f differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 new file mode 100644 index 000000000..314330e20 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/b5/3306f849b69ef0459ddf5cccff06b5fbb08c23 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 new file mode 100644 index 000000000..fe99cd8b9 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ba/cd4ee105073117b30e5dcdba5150373b6b53c6 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 new file mode 100644 index 000000000..1612db5a2 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/c5/7c0fe2bb095a9f6a5e493be5f9306e01c5d5a1 @@ -0,0 +1,3 @@ +x��A +�0E]��J��i& ��H'S��Fj��ەk7�ǃ_���}8��"φ�:�hZ(Q�QHE� ���7[� M0ƞG�!E1.9O�m*c�IB�P\~��np�� +�jpz�ԕj�W]�3�f���H =����x���b�c�y��.k����(�E� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 new file mode 100644 index 000000000..461ba2fc7 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/cf/1caee9ac9ff7db791de6e7ee6d3ce88bf2cf26 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde new file mode 100644 index 000000000..d3fda4b86 --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/db/46d6323f632ee8c2bd781ee14ae80bcd884cde @@ -0,0 +1,2 @@ +x��A +�0E]��Jf��q��[L��Vh#1���ʵ�x��纮K"w�M��<&+T�gGw$v<L��(){�S�n�q�%j�1�4�".q6"�D���b�����V� �U���i(U/���g֦C��p�82��p���n��]��Ʌ���ܗ��7_�rD� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea new file mode 100644 index 000000000..60f2a188e Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e3/864d9e9499611b59da3c6a309180b2726b11ea differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 new file mode 100644 index 000000000..fbfefebd9 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/e7/5cb5a80d7d26ddff9ac221fc576060719f2bd8 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 new file mode 100644 index 000000000..7bc52640e --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/ee/acfd7ce0a7e1049a320db614a71644a86cb793 @@ -0,0 +1,3 @@ +x��K +1P�9E�!���".\y�N�2#�Db�뛅�VE���u��D�Л���/�4S�6�#1|��H����Y=���ALp�D�6F���X�d�FG :�'����R��õ +��M���U7�,�d�u;���5�����O�ut������U_��D� \ No newline at end of file diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 new file mode 100644 index 000000000..256052c2c Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f4/499970a6774e5aad19877ee7c65d296ae21366 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e new file mode 100644 index 000000000..b543850b6 Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/f7/1429f9ff9214a546b438c611ae942c9cf5a49e differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 new file mode 100644 index 000000000..6c36970db Binary files /dev/null and b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/objects/fe/a16119a5b4ec0562d4f65b4237314250773bf8 differ diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs new file mode 100644 index 000000000..d0314ac6b --- /dev/null +++ b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/packed-refs @@ -0,0 +1,2 @@ +# pack-refs with: peeled fully-peeled sorted +464921bc7cbaaae0779fc863724302d1148d6097 refs/heads/master diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/refs/heads/.keep-directory b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/refs/heads/.keep-directory new file mode 100644 index 000000000..e69de29bb diff --git a/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/refs/tags/.keep-directory b/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/src/test/resources/linear-changelog/refs/tags/.keep-directory new file mode 100644 index 000000000..e69de29bb diff --git a/pom.xml b/pom.xml index 2ad0f86d9..e88f76ff6 100644 --- a/pom.xml +++ b/pom.xml @@ -353,6 +353,7 @@ <exclude>**/src/main/resources/tck-repository/**</exclude> <exclude>src/test/resources/**</exclude> <exclude>src/test/repository/**</exclude> + <exclude>src/test/linear-changelog/**</exclude> <exclude>src/test/tck-repository/**</exclude> <exclude>src/main/resources/tck/**</exclude> <exclude>.java-version</exclude> ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services