Tôi muốn nhận danh sách các tệp đã thay đổi/thêm/xóa giữa phiên bản XXXXXX và HEAD. Đây là những gì tôi có cho đến thời điểm này:Làm cách nào để làm tương đương với "git diff --name-status" với jgit?
String oldHash = "a97e5553e37a25bd1a3c99eab303145baed08dbd";
Git git = Git.open(new File("/tmp/jgit"));
Repository repository = git.getRepository();
ObjectId old = repository.resolve(oldHash);
ObjectId head = repository.resolve("HEAD");
// how do i get the trees from the obj. id?
List<<DiffEntry> diffs = git.diff().setNewTree(null).setOldTree(null).call();
for(DiffEntry diff : diffs) {
// do stuff
}
Đây có phải là cách đúng đắn để thực hiện và nếu có, làm cách nào để có được các cây cần thiết cho git.diff()?
Đây là một câu hỏi tuyệt vời mặc dù OP chỉ được hỏi cụ thể về - tên-trạng thái, vì nó áp dụng o tất cả các câu hỏi kiểu jgit.Git.diff(), ví dụ IMHO khan hiếm và tài liệu API xiên. Cảm ơn! Và cảm ơn cho câu trả lời @ [Kevin Sawicki] (http://stackoverflow.com/users/687965/kevin-sawicki) và @ [ktoso] (http://stackoverflow.com/users/111024/ktoso) quá! –