libgit2 / libgit2/libgit2sharp
The set filemode is incorrect
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ả
Reproduction steps
Azure DevOps
-
Create YAML Pipeline just for monitoring filemode (show all files with filemode, script:
git ls-files --stage) and create build validation policy for main branch -
Create file "test1.sh" in folder "folder1", create PR to main and complete it
-
On new branch make changes, push it, hard reset to previous commit, create "folder2", move "test1.sh" to this folder, change filemode to 100755 (
git update-index --chmod=+x file_name), force push, create PR to main and complete it -
Switch to previous commit (before changing folder and file mode), push any changes, create PR to main and check build validation pipeline logs on the PR
Expected behavior
File mode is 100755 (new)
Actual behavior
File mode is 100644 (old)
Version of LibGit2Sharp (release number or SHA1)
14.0.29222.1
Operating system(s) tested; .NET runtime tested
Windows 10, .NET 4.8
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ái hiện kịch bản Azure DevOps bằng git ls-files --stage, việc di chuyển sang folder2 và git update-index --chmod=+x. Sau đó, theo dõi cách LibGit2Sharp xử lý các chế độ tệp trong suốt chuỗi commit và push đã mô tả. Hoàn tất khi pipeline xác thực báo cáo chế độ tệp 100755 thay vì 100644 cho tệp bị ảnh hưởng.
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ó
- 4/5
- Thời gian dự kiến
- 3-5 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