Intento leer la información de Git Notes desde un ref ref refs/notes/abcd
de una confirmación particular en un repository usando JGit
Esto es lo que intenté:
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"));
Obtengo el siguiente error de compilation:
error: types incompatibles: org.eclipse.jgit.lib.ObjectId no se puede convertir en org.eclipse.jgit.revwalk.RevObject
¿Cómo paso una variable RevObject
a Git setObjectId()
dada una cadena de confirmación?
Con un RevWalk
, el ID del object se puede analizar y el RevCommit
resultante se puede pasar al ShowNoteCommand
.
Por ejemplo:
RevCommit commit; try( RevWalk revWalk = new RevWalk( repository ) ) { commit = revWalk.parseCommit( oid ); } git.notesShow().setObjectId( commit )...