Java Processbuilder GitLog漂亮格式

时间:2017-06-08 08:56:25

标签: java git processbuilder git-log

我创建了一个java方法来从git repo创建一个gitlog。

方法:

String gitLogFormat = "--pretty=format:\"%H %an %ad %s\"";

List<String> cmds = Arrays.asList("git", "log", gitLogFormat, "--numstat",  "--date=short");
ProcessBuilder builder = new ProcessBuilder(cmds);
builder.directory(new File( GitPath.toAbsolutePath().toString() ));

builder.redirectOutput(ProcessBuilder.Redirect.to( path.resolve("gitlog.txt").toFile() ) );

Process process = builder.start();

如果我在没有gitLogFormat的情况下运行此方法,则可以使用Gitlog获取文件。但是使用格式我总是得到exitcode 128

\"是否存在问题,因为其他选项--numstat--date=short都有效?

更新

我尝试用:

String gitLogFormat = "--pretty=format:\"%H_%an_%ad_%s\"";

它有效。

空白是问题。有没有人知道如何使用wspaces代码,因为Log应该在信息之间有空格。

1 个答案:

答案 0 :(得分:0)

更新2和解决方案:

问题是空白,所以我必须在每个空格之间添加一个,

它适用于此代码:

List<String> cmds = Arrays.asList("git", "log", "--pretty=format:\"%H" , "%an" , "%ad" , "%s\"" , "--numstat" , "--date=short");