Author: olamy Date: Mon Nov 8 20:56:55 2010 New Revision: 1032707 URL: http://svn.apache.org/viewvc?rev=1032707&view=rev Log: [SCM-475] hg plugin insists on 'pushing' Submitted by Laurent Perez
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java?rev=1032707&r1=1032706&r2=1032707&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/checkin/HgCheckInCommand.java Mon Nov 8 20:56:55 2010 @@ -48,7 +48,9 @@ import java.util.List; public class HgCheckInCommand extends AbstractCheckInCommand { - /** {...@inheritdoc} */ + /** + * {...@inheritdoc} + */ protected CheckInScmResult executeCheckInCommand( ScmProviderRepository repo, ScmFileSet fileSet, String message, ScmVersion tag ) throws ScmException @@ -70,8 +72,8 @@ public class HgCheckInCommand for ( Iterator it = statusFiles.iterator(); it.hasNext(); ) { ScmFile file = (ScmFile) it.next(); - if ( file.getStatus() == ScmFileStatus.ADDED || file.getStatus() == ScmFileStatus.DELETED - || file.getStatus() == ScmFileStatus.MODIFIED ) + if ( file.getStatus() == ScmFileStatus.ADDED || file.getStatus() == ScmFileStatus.DELETED || + file.getStatus() == ScmFileStatus.MODIFIED ) { commitedFiles.add( new ScmFile( file.getPath(), ScmFileStatus.CHECKED_IN ) ); } @@ -87,17 +89,23 @@ public class HgCheckInCommand } // Commit to local branch - String[] commitCmd = new String[]{HgCommandConstants.COMMIT_CMD, HgCommandConstants.MESSAGE_OPTION, message}; + String[] commitCmd = new String[]{ HgCommandConstants.COMMIT_CMD, HgCommandConstants.MESSAGE_OPTION, message }; commitCmd = HgUtils.expandCommandLine( commitCmd, fileSet ); ScmResult result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), commitCmd ); // Push to parent branch if any HgScmProviderRepository repository = (HgScmProviderRepository) repo; - if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) ) + if ( repo.isPushChanges() ) { - String[] pushCmd = new String[]{HgCommandConstants.PUSH_CMD, repository.getURI()}; - result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd ); + + if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) ) + { + String[] pushCmd = new String[]{ HgCommandConstants.PUSH_CMD, repository.getURI() }; + result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd ); + } + + return new CheckInScmResult( commitedFiles, result ); } return new CheckInScmResult( commitedFiles, result ); Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java URL: http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java?rev=1032707&r1=1032706&r2=1032707&view=diff ============================================================================== --- maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java (original) +++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-hg/src/main/java/org/apache/maven/scm/provider/hg/command/tag/HgTagCommand.java Mon Nov 8 20:56:55 2010 @@ -51,7 +51,7 @@ public class HgTagCommand extends AbstractTagCommand implements Command { - + protected ScmResult executeTagCommand( ScmProviderRepository scmProviderRepository, ScmFileSet fileSet, String tag, String message ) throws ScmException @@ -59,7 +59,9 @@ public class HgTagCommand return executeTagCommand( scmProviderRepository, fileSet, tag, new ScmTagParameters( message ) ); } - /** {...@inheritdoc} */ + /** + * {...@inheritdoc} + */ protected ScmResult executeTagCommand( ScmProviderRepository scmProviderRepository, ScmFileSet fileSet, String tag, ScmTagParameters scmTagParameters ) throws ScmException @@ -78,15 +80,12 @@ public class HgTagCommand File workingDir = fileSet.getBasedir(); // build the command - String[] tagCmd = new String[] { - HgCommandConstants.TAG_CMD, - HgCommandConstants.MESSAGE_OPTION, - scmTagParameters.getMessage(), - tag }; + String[] tagCmd = + new String[] { HgCommandConstants.TAG_CMD, HgCommandConstants.MESSAGE_OPTION, + scmTagParameters.getMessage(), tag }; // keep the command about in string form for reporting StringBuffer cmd = joinCmd( tagCmd ); - HgTagConsumer consumer = new HgTagConsumer( getLogger() ); ScmResult result = HgUtils.execute( consumer, getLogger(), workingDir, tagCmd ); HgScmProviderRepository repository = (HgScmProviderRepository) scmProviderRepository; @@ -94,10 +93,15 @@ public class HgTagCommand { // now push // Push to parent branch if any - if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) ) + + if ( repository.isPushChanges() ) { - String[] pushCmd = new String[] { HgCommandConstants.PUSH_CMD, repository.getURI() }; - result = HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd ); + if ( !repository.getURI().equals( fileSet.getBasedir().getAbsolutePath() ) ) + { + String[] pushCmd = new String[] { HgCommandConstants.PUSH_CMD, repository.getURI() }; + result = + HgUtils.execute( new HgConsumer( getLogger() ), getLogger(), fileSet.getBasedir(), pushCmd ); + } } } else