libgit2 / libgit2/libgit2sharp
FullHistory method of FileHistory class, doesn't return actual history
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C#
- Star
- 3.5k
- Fork
- 925
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Code:
var _repository = new Repository(@"D:\11");
var commitFilter = new CommitFilter { SortBy = CommitSortStrategies.Topological };
var sdf = _repository.Commits.QueryBy("SPF 711 performance", commitFilter).Select(c => c.Commit).ToList();
doesn't return history, while existing of 7 commits.

Inside the method FullHistory iterating through commits stops when reaching commit
4bf4edccaa9ce3b7f785b14939a3545c627b5dfd because of this code:
var currentTreeEntry = currentCommit.Tree[currentPath];
if (currentTreeEntry == null)
{
yield break;
}
looks like iterator cannot achieve commits which contain a history of the file because of the running into the commit which knows nothing about the file.
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Tìm FileHistory.FullHistory và tái hiện vấn đề với Repository và CommitFilter được nêu trên lịch sử gồm bảy commit. Theo dõi vòng lặp tại commit 4bf4edccaa9ce3b7f785b14939a3545c627b5dfd và xác minh rằng phương thức trả về toàn bộ lịch sử tệp thay vì dừng lại khi currentTreeEntry là null.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- csharp, git
- Lĩnh vực
- devtools
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100