我创建了一个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应该在信息之间有空格。
答案 0 :(得分:0)
更新2和解决方案:
问题是空白,所以我必须在每个空格之间添加一个,
它适用于此代码:
List<String> cmds = Arrays.asList("git", "log", "--pretty=format:\"%H" , "%an" , "%ad" , "%s\"" , "--numstat" , "--date=short");