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
33 public class GitCommandUtils {
34
35 private GitCommandUtils() {}
36
37 public static Commandline getBaseCommand(String commandName, GitScmProviderRepository repo, ScmFileSet fileSet) {
38 return getBaseCommand(commandName, repo, fileSet, null);
39 }
40
41 public static Commandline getBaseCommand(
42 String commandName, GitScmProviderRepository repo, ScmFileSet fileSet, String options) {
43 Settings settings = GitUtil.getSettings();
44
45 Commandline cl = new Commandline();
46
47 cl.setExecutable(settings.getGitCommand());
48
49 cl.setWorkingDirectory(fileSet.getBasedir().getAbsolutePath());
50
51 if (settings.getTraceGitCommand() != null) {
52 cl.addEnvironment("GIT_TRACE", settings.getTraceGitCommand());
53 }
54
55 cl.createArg().setLine(options);
56 cl.createArg().setValue(commandName);
57
58 return cl;
59 }
60
61 public static String getRevParseDateFormat() {
62 return GitUtil.getSettings().getRevParseDateFormat();
63 }
64 }