Java Processbuilder GitLog 漂亮格式

Java Processbuilder GitLog pretty-format

我创建了一个 java 方法来从 git 存储库创建一个 git 日志。

方法:

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 的文件。但是使用格式我总是得到退出代码 128.

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

更新

我试了一下:

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

并且有效。

空格是问题所在。有谁知道我如何使用带空格的代码,因为日志应该在信息之间有空格。

更新 2 和解决方案:

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

它适用于此代码:

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