1 package org.apache.maven.scm.provider.git;
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.ScmFileSet;
23 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
24 import org.apache.maven.scm.provider.git.util.GitUtil;
25 import org.apache.maven.scm.providers.gitlib.settings.Settings;
26 import org.codehaus.plexus.util.cli.Commandline;
27
28
29
30
31
32
33
34 public class GitCommandUtils
35 {
36
37 private GitCommandUtils()
38 {
39 }
40
41 public static Commandline getBaseCommand( String commandName, GitScmProviderRepository repo, ScmFileSet fileSet )
42 {
43 return getBaseCommand( commandName, repo, fileSet, null );
44 }
45
46 public static Commandline getBaseCommand( String commandName, GitScmProviderRepository repo, ScmFileSet fileSet,
47 String options )
48 {
49 Settings settings = GitUtil.getSettings();
50
51 Commandline cl = new Commandline();
52
53 cl.setExecutable( "git" );
54
55 cl.setWorkingDirectory( fileSet.getBasedir().getAbsolutePath() );
56
57 if ( settings.getTraceGitCommand() != null )
58 {
59 cl.addEnvironment( "GIT_TRACE", settings.getTraceGitCommand() );
60 }
61
62 cl.createArg().setLine( options );
63 cl.createArg().setValue( commandName );
64
65 return cl;
66 }
67
68 public static String getRevParseDateFormat()
69 {
70 return GitUtil.getSettings().getRevParseDateFormat();
71 }
72 }