2017-03-17 3 views
1

Ich möchte die Liste der Commits zwischen zwei Revisionen (Hashes) in einem Repository mit JGit erhalten.Muss ich die Zweige angeben, um Commits zwischen zwei Revisionen in JGit aufzulisten?

Ich weiß nicht, ob die Commits (Start-Commit-Hash, Ende-Commit-Hash) sind in einem Zweig oder andere.

Ich weiß, wie man durch den Baum geht, beginnend mit einem Commit in JGit.

Meine Frage: Muss ich die commit nachschauen müssen Hashes in allen Zweigen des Repository oder kann ich nur Respository::resolve() wie folgt aus:

Repository repository = git.getRepository(); 
walk.parseCommit(repository.resolve(commitHash)); 

und sicher sein, dass ich Anfang beide begehen finden und Ende?

Antwort

1

Zweige, und auch andere Referenzen (z. B. Tags) sind nur Zeiger zu verpflichten, IDs. Daher können Sie Commit-IDs verwenden, um die Revisionen zwischen zwei Commits aufzulisten.

Ihr Beispiel Abwicklung:

ObjectId startCommit = walk.parseCommit(repository.resolve(startCommitId)); 
RevCommit endCommit walk.parseCommit(repository.resolve(startCommitId)); 
// configure and use walk 
+0

So kann ich sicher walk.parseCommit (repository.resolve (commitHash)) verwenden? –

Verwandte Themen