2

JGitには、すべてのブランチの現在の参照を取得するためのShowRefCommandがありません。jgitを使用してShowRefを作成する方法はありますか?

4

1 に答える 1

2

やることは些細なことです。まず、フォーマットは「.git/refs」ディレクトリ内のファイルを反復するだけなので、シェル スクリプトを使用して実行できます。

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 に答える