I need for each commit to get the name and message of the associated tag.
I managed to get the tag name associated with my commit. But I can not get the message. I tried like this:
String nameTag = "";
List<Ref> call = new Git(git.getRepository()).tagList().call();
for (Ref ref: call) {
if ((ref.getObjectId().getName()).equals(commit.getName())) {
Map<ObjectId, String> names = git.nameRev().add(ref.getObjectId()).addPrefix("refs/tags/").call();
nameTag = names.get(ref.getObjectId());
System.out.println("Commit " + commit.getName() + "has tag" + nameTag);
}
}
I tried creating a RevTag for each ref found:
AnyObjectId obj = ref.getObjectId();
if(obj instanceof RevTag) {
RevTag tag = walk.parseTag(obj);
System.out.println(tag.getFullMessage());
}
But the identifier of the returned object is never RevTag. Exception Message:
Object ... is not a tag .
How to create a RevTag to parse Ref?
source
share