1 package org.apache.maven.scm.provider.tfs.command;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.ScmException;
23 import org.apache.maven.scm.ScmFileSet;
24 import org.apache.maven.scm.ScmVersion;
25 import org.apache.maven.scm.command.checkin.AbstractCheckInCommand;
26 import org.apache.maven.scm.command.checkin.CheckInScmResult;
27 import org.apache.maven.scm.provider.ScmProviderRepository;
28 import org.apache.maven.scm.provider.tfs.command.consumer.ErrorStreamConsumer;
29 import org.apache.maven.scm.provider.tfs.command.consumer.FileListConsumer;
30
31 public class TfsCheckInCommand
32 extends AbstractCheckInCommand
33 {
34
35 protected CheckInScmResult executeCheckInCommand( ScmProviderRepository r, ScmFileSet f, String m, ScmVersion v )
36 throws ScmException
37 {
38
39 TfsCommand command = createCommand( r, f, m );
40 FileListConsumer fileConsumer = new FileListConsumer();
41 ErrorStreamConsumer err = new ErrorStreamConsumer();
42
43 int status = command.execute( fileConsumer, err );
44 if ( status != 0 || err.hasBeenFed() )
45 {
46 return new CheckInScmResult( command.getCommandString(), "Error code for TFS checkin command - " + status,
47 err.getOutput(), false );
48 }
49 return new CheckInScmResult( command.getCommandString(), fileConsumer.getFiles() );
50 }
51
52 public TfsCommand createCommand( ScmProviderRepository r, ScmFileSet f, String m )
53 {
54 TfsCommand command = new TfsCommand( "checkin", r, f, getLogger() );
55 command.addArgument( "-noprompt" );
56 if ( m != null && !m.equals( "" ) )
57 {
58 command.addArgument( "-comment:" + m + "" );
59 }
60 command.addArgument( f );
61 return command;
62 }
63
64 }