如何在jgit中编写show-ref命令?

时间:2012-11-28 22:14:20

标签: git jgit

JGit没有ShowRefCommand来获取所有分支的当前引用。 有没有办法用jgit编写ShowRef?

1 个答案:

答案 0 :(得分:2)

应该是微不足道的。首先,格式只是对“.git / refs”目录中文件的迭代,所以你可以用shell脚本来完成:

find refs -type f | awk -- '{print "echo `cat " $1 "` "  $1 }' | sh

但是,在JGit API中,您可以通过迭代存储库的引用来执行相同操作,该引用由“getAllRefs”命令返回:

Map<String, Ref> refs = repo.getAllRefs();
Set<Entry<String, Ref>> values = refs.entrySet();
for (Entry<String, Ref> entry : values) {
    System.out.println(entry.getValue().getObjectId().getName() + " " + entry.getValue().getName());
}

随意将其贡献给JGit!