make sure tags have no spaces
Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/b80b102e Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/b80b102e Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/b80b102e Branch: refs/heads/master Commit: b80b102e04c12524f9d53ff2a86fc8ba8cdb5e89 Parents: 88de639 Author: imod <d...@fortysix.ch> Authored: Fri Jul 12 09:09:54 2013 +0200 Committer: imod <d...@fortysix.ch> Committed: Fri Jul 12 09:09:54 2013 +0200 ---------------------------------------------------------------------- .../scm/provider/git/jgit/command/tag/JGitTagCommand.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-scm/blob/b80b102e/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java b/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java index 68188fb..b4011bc 100644 --- a/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java +++ b/src/main/java/org/apache/maven/scm/provider/git/jgit/command/tag/JGitTagCommand.java @@ -36,6 +36,7 @@ import org.apache.maven.scm.provider.git.jgit.command.JGitUtils; import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository; import org.codehaus.plexus.util.StringUtils; import org.eclipse.jgit.api.Git; +import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevWalk; @@ -75,18 +76,20 @@ public class JGitTagCommand throw new ScmException( "This provider doesn't support tagging subsets of a directory" ); } + String escapedTagName = tag.trim().replace(' ', '_'); + try { Git git = Git.open( fileSet.getBasedir() ); // tag the revision String tagMessage = scmTagParameters.getMessage(); - Ref tagRef = git.tag().setName( tag ).setMessage( tagMessage ).setForceUpdate( false ).call(); + Ref tagRef = git.tag().setName( escapedTagName ).setMessage( tagMessage ).setForceUpdate( false ).call(); if ( repo.isPushChanges() ) { - getLogger().info( "push tag [" + tag + "] to remote..." ); - JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, new RefSpec( "refs/tags/" + tag ) ); + getLogger().info( "push tag [" + escapedTagName + "] to remote..." ); + JGitUtils.push( getLogger(), git, (GitScmProviderRepository) repo, new RefSpec( Constants.R_TAGS + escapedTagName ) ); } // search for the tagged files