2

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

4

1 回答 1

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!

于 2013-01-30T23:39:39.330 回答