[SCM 753] support TFS checkin-policies
Project: http://git-wip-us.apache.org/repos/asf/maven-scm/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-scm/commit/7ede6464 Tree: http://git-wip-us.apache.org/repos/asf/maven-scm/tree/7ede6464 Diff: http://git-wip-us.apache.org/repos/asf/maven-scm/diff/7ede6464 Branch: refs/heads/master Commit: 7ede6464c59fc91437fe843ae09d77e89819a2fc Parents: 252c2dd Author: OhadR <ohadr.develo...@gmail.com> Authored: Mon May 26 17:40:39 2014 +0300 Committer: Hervé Boutemy <hbout...@apache.org> Committed: Mon May 26 22:29:03 2014 +0200 ---------------------------------------------------------------------- .../scm/provider/tfs/command/TfsCheckInCommand.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-scm/blob/7ede6464/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java ---------------------------------------------------------------------- diff --git a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java index d36a7ee..4bb795e 100644 --- a/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java +++ b/maven-scm-providers/maven-scm-provider-tfs/src/main/java/org/apache/maven/scm/provider/tfs/command/TfsCheckInCommand.java @@ -33,6 +33,8 @@ import org.codehaus.plexus.util.StringUtils; public class TfsCheckInCommand extends AbstractCheckInCommand { + private static final String TFS_CHECKIN_POLICIES_ERROR = "TF10139"; + protected CheckInScmResult executeCheckInCommand( ScmProviderRepository r, ScmFileSet f, String m, ScmVersion v ) throws ScmException { @@ -41,8 +43,19 @@ public class TfsCheckInCommand ErrorStreamConsumer err = new ErrorStreamConsumer(); int status = command.execute( fileConsumer, err ); - if ( status != 0 || err.hasBeenFed() ) + getLogger().debug( "status of checkin command is= " + status + "; err= " + err.getOutput() ); + + //[SCM-753] support TFS checkin-policies - TFS returns error, that can be ignored. + if ( err.hasBeenFed() && err.getOutput().startsWith( TFS_CHECKIN_POLICIES_ERROR ) ) + { + getLogger().debug( "exclusion: got error " + TFS_CHECKIN_POLICIES_ERROR + + " due to checkin policies. Ignoring it..." ); + } + + if ( status != 0 || ( err.hasBeenFed() && !err.getOutput().startsWith( TFS_CHECKIN_POLICIES_ERROR ) ) ) { + getLogger().error( "ERROR in command: " + command.getCommandString() + + "; Error code for TFS checkin command - " + status ); return new CheckInScmResult( command.getCommandString(), "Error code for TFS checkin command - " + status, err.getOutput(), false ); }