JGit: Cómo get Branch al atravesar repos

Los documentos JGit que faltan no parecen decir nada sobre cómo usar / detectar twigs mientras se usa un RevWalk.

Esta pregunta dice más o less lo mismo.

Entonces mi pregunta es: ¿Cómo obtengo el nombre / id de la sucursal de un RevCommit? ¿O cómo especifico qué twig pasar antes de la mano?

Descubrí una mejor manera de hacerlo bucle de twigs.

Pasé por encima de las twigs llamando

for (Ref branch : git.branchList().call()){ git.checkout().setName(branch.getName()).call(); // Then just revwalk as normal. } 

Al observar la implementación actual de JGit (ver su git repo y su class RevCommit ), no encontré el equivalente de lo que figura en " Git: Encontrar de qué twig proviene una confirmación ".
Es decir:

 git branch --contains <commit> 

Solo algunas de las opciones de git branch están implementadas (como en ListBranchCommand.java ).

podría usar el código de abajo para get la twig "de" por commit:

 /** * find out which branch that specified commit come from. * * @param commit * @return branch name. * @throws GitException */ public String getFromBranch(RevCommit commit) throws GitException{ try { Collection<ReflogEntry> entries = git.reflog().call(); for (ReflogEntry entry:entries){ if (!entry.getOldId().getName().equals(commit.getName())){ continue; } CheckoutEntry checkOutEntry = entry.parseCheckout(); if (checkOutEntry != null){ return checkOutEntry.getFromBranch(); } } return null; } catch (Exception e) { throw new GitException("fail to get ref log.", e); } }