Je reçois la différence entre les deux branches en utilisant JGit comme suit:JGit Comment obtenir la liste des RevCommit pour DiffEntry
ObjectReader reader = git.getRepository().newObjectReader();
CanonicalTreeParser oldTreeIter = new CanonicalTreeParser();
CanonicalTreeParser newTreeIter = new CanonicalTreeParser();
Ref master = git.getRepository().exactRef(getRefBranchName(branchMaster));
RevTree masterTree = new RevWalk(git.getRepository()).parseTree(master.getObjectId());
oldTreeIter.reset(reader, masterTree.getId());
Ref release = git.getRepository().exactRef(getRefBranchName(branchRelease));
RevTree releaseTree = new RevWalk(git.getRepository()).parseTree(release.getObjectId());
newTreeIter.reset(reader, releaseTree.getId());
List<DiffEntry> diffs = git.diff().setNewTree(newTreeIter).setOldTree(oldTreeIter).call();
Ensuite, je peux imprimer des différences dans les fichiers comme suit:
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
DiffFormatter formatter = new DiffFormatter (outputStream);
formatter.setRepository(git.getRepository());
for (DiffEntry entry: diffs){
System.out.println("Diff Entry: " + entry + ", from: " + entry.getOldId()+", to: " + entry.getNewId());
formatter.format(entry);
String diffText = outputStream.toString("UTF-8");
System.out.println(diffText);
outputStream.reset();
}
J'ai vu toutes les différences entre deux fichiers dans cette branche, mais comment puis-je obtenir tous les commits pour ces différences pour certains DiffEntry
? Je n'ai pas trouvé un moyen de le faire
merci pour l'aide – Evens