libgit2 / libgit2/libgit2sharp
.gitignore exclusions not being honoring correctly
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ả
Hello,
I am having an issue with inconsistent behavior when trying to exclude folders using a .gitignore. This issue is related to: https://github.com/git-tfs/git-tfs/issues/1047
Given the following repository directory:
/Main/.gitignore
/Main/Foo/test.txt
/Main/Foo/packages/test.txt
/Main/FooBar/test.txt
/Main/FooBar/packages/test.txt
And the following .gitignore file:
**/packages/*
!Foo/
!Foo/**
When I running the following code:
using (var repo = new Repository(@"C:\Git\Project\Main"))
{
repo.RetrieveStatus().Untracked.Dump();
}
Then I get to following results:
.gitignore
Foo\test.txt
FooBar\test.txt
When I run git status -u
Then I get to following results:
.gitignore
Foo/packages/test.txt
Foo/test.txt
FooBar/test.txt
I have also tried populating the ignore rules manually using AddTemporaryRules with the same results.
Thanks!
Christopher Haws
git version 2.10.2.windows.1
LibGit2Sharp version 0.23.1
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 báo cáo bằng Repository.RetrieveStatus và các quy tắc .gitignore lồng nhau được hiển thị, sau đó so sánh các kết quả Untracked của nó với git status -u. Đồng thời kiểm tra đường dẫn AddTemporaryRules và coi issue là hoàn tất khi các quy tắc thư mục bị phủ định tạo ra cùng các tệp được bao gồm như Git.
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
- tooling
- 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