1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.scm.provider.git;
20
21 import org.apache.maven.scm.ScmFileSet;
22 import org.apache.maven.scm.provider.git.repository.GitScmProviderRepository;
23 import org.apache.maven.scm.provider.git.util.GitUtil;
24 import org.apache.maven.scm.providers.gitlib.settings.Settings;
25 import org.codehaus.plexus.util.cli.Commandline;
26
27
28
29
30
31
32 public class GitCommandUtils {
33
34 private GitCommandUtils() {}
35
36 public static Commandline getBaseCommand(String commandName, GitScmProviderRepository repo, ScmFileSet fileSet) {
37 return getBaseCommand(commandName, repo, fileSet, null);
38 }
39
40 public static Commandline getBaseCommand(
41 String commandName, GitScmProviderRepository repo, ScmFileSet fileSet, String options) {
42 Settings settings = GitUtil.getSettings();
43
44 Commandline cl = new Commandline();
45
46 cl.setExecutable(settings.getGitCommand());
47
48 cl.setWorkingDirectory(fileSet.getBasedir().getAbsolutePath());
49
50 if (settings.getTraceGitCommand() != null) {
51 cl.addEnvironment("GIT_TRACE", settings.getTraceGitCommand());
52 }
53
54 cl.createArg().setLine(options);
55 cl.createArg().setValue(commandName);
56
57 return cl;
58 }
59
60 public static String getRevParseDateFormat() {
61 return GitUtil.getSettings().getRevParseDateFormat();
62 }
63 }