[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 );
         }

Reply via email to