Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分析已更改文件的Gitblit钩子_Git_Groovy_Jgit_Gitblit - Fatal编程技术网

分析已更改文件的Gitblit钩子

分析已更改文件的Gitblit钩子,git,groovy,jgit,gitblit,Git,Groovy,Jgit,Gitblit,如何访问gitblit钩子中更改的文件?当我进行推送时,我需要获得所有已更改文件的列表,并对其进行一些测试,我如何实现这一点 我做了以下工作: RevWalk rw = new RevWalk(repository); ObjectId head = repository.resolve(Constants.HEAD); RevCommit commit = rw.parseCommit(head); RevCommit parent = rw.parseCommit(commit.getPar

如何访问gitblit钩子中更改的文件?当我进行推送时,我需要获得所有已更改文件的列表,并对其进行一些测试,我如何实现这一点

我做了以下工作:

RevWalk rw = new RevWalk(repository);
ObjectId head = repository.resolve(Constants.HEAD);
RevCommit commit = rw.parseCommit(head);
RevCommit parent = rw.parseCommit(commit.getParent(0).getId());
DiffFormatter df = new DiffFormatter(DisabledOutputStream.INSTANCE);
df.setRepository(repository);
df.setDiffComparator(RawTextComparator.DEFAULT);
df.setDetectRenames(true);
List<DiffEntry> diffs = df.scan(parent.getTree(), commit.getTree());
for (DiffEntry diff : diffs) {
    System.out.println(MessageFormat.format("({0} {1} {2}", diff.getChangeType().name(), diff.getNewMode().getBits(), diff.getNewPath()));
}
RevWalk rw=新的RevWalk(存储库);
ObjectId head=repository.resolve(Constants.head);
RevCommit=rw.parseCommit(head);
RevCommit parent=rw.parseCommit(commit.getParent(0.getId());
DiffFormatter df=新的DiffFormatter(DisabledOutputStream.INSTANCE);
setRepository(repository);
setDiffComparator(RawTextComparator.DEFAULT);
df.setDetectRenames(真);
List diff=df.scan(parent.getTree(),commit.getTree());
用于(差异:差异){
System.out.println(MessageFormat.format(({0}{1}{2}),diff.getChangeType().name(),diff.getNewMode().getBits(),diff.getNewPath());
}

下一步我可以做什么来获取不同版本的实际文件内容?

来澄清您的问题。您想知道两个版本之间的差异(即
df.format()
prints)或者旧版本和新版本的全部内容?我只想获得新版本的内容、全部内容以及查看所做更改的方式。谢谢。新版本可以通过
存储库返回的
ObjectLoader
获得。open(head)
。您知道
df.format(differentry)吗
打印出差异格式的更改?df.format(differentry)打印出来,并为meNote设置空字符串,
differformatter
写入传递给构造函数的
OutputStream
中。为了澄清您的问题,您希望两个版本之间的差异(即
df.format()
打印什么)或者旧版本和新版本的全部内容?我只想获得新版本的内容、全部内容以及查看所做更改的方式。谢谢。新版本可以通过
存储库返回的
ObjectLoader
获得。open(head)
。您知道
df.format(differentry)吗
打印出差异格式的更改?df.format(differentry)打印出meNote的空字符串,该meNote将
differformatter
写入传递给构造函数的
OutputStream