给定 commit-sha 如何使用 JGit 阅读 Git 笔记
How to read Git notes using JGit given a commit-sha
我正在尝试使用 JGit
从存储库中特定提交的自定义引用 refs/notes/abcd
中读取 Git 注释信息
这是我尝试过的:
Repository repository = repositoryManager.openRepository(repoName);
Git git = new Git(repository);
ObjectId oid = repository.resolve("5740b142a7b5f66768a2d904b267dccaef1a095f");
Note note = git.notesShow().setNotesRef("refs/notes/abcd").setObjectId(oid).call();
ObjectLoader loader = repository.open(note.getData());
byte[] data = loader.getBytes();
System.out.println(new String(data, "utf-8"));
我得到以下编译错误:
error: incompatible types: org.eclipse.jgit.lib.ObjectId cannot be converted to org.eclipse.jgit.revwalk.RevObject
在给定 commit-sha 字符串的情况下,如何将 RevObject
变量传递给 Git setObjectId()
?
使用RevWalk
,可以解析对象id并将结果RevCommit
传递给ShowNoteCommand
。
例如:
RevCommit commit;
try( RevWalk revWalk = new RevWalk( repository ) ) {
commit = revWalk.parseCommit( oid );
}
git.notesShow().setObjectId( commit )...
我正在尝试使用 JGit
从存储库中特定提交的自定义引用refs/notes/abcd
中读取 Git 注释信息
这是我尝试过的:
Repository repository = repositoryManager.openRepository(repoName);
Git git = new Git(repository);
ObjectId oid = repository.resolve("5740b142a7b5f66768a2d904b267dccaef1a095f");
Note note = git.notesShow().setNotesRef("refs/notes/abcd").setObjectId(oid).call();
ObjectLoader loader = repository.open(note.getData());
byte[] data = loader.getBytes();
System.out.println(new String(data, "utf-8"));
我得到以下编译错误:
error: incompatible types: org.eclipse.jgit.lib.ObjectId cannot be converted to org.eclipse.jgit.revwalk.RevObject
在给定 commit-sha 字符串的情况下,如何将 RevObject
变量传递给 Git setObjectId()
?
使用RevWalk
,可以解析对象id并将结果RevCommit
传递给ShowNoteCommand
。
例如:
RevCommit commit;
try( RevWalk revWalk = new RevWalk( repository ) ) {
commit = revWalk.parseCommit( oid );
}
git.notesShow().setObjectId( commit )...