Error when applying patch that removes submodule
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C
- Star
- 10.6k
- Fork
- 2.7k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Reproduction steps
on any existing repo that contains a submodule generate a diff that removes it:
$ git rm <submodule name>
$ git diff --staged > remove-submodule.patch
(I used git 2.25.1)
my generated patch looks like this:
diff --git a/.gitmodules b/.gitmodules
index 1b59123..e69de29 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +0,0 @@
-[submodule "submodule"]
- path = submodule
- url = ../submodule
diff --git a/submodule b/submodule
deleted file mode 160000
index xxxxx..0000000
--- a/fus-modules
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit xxxxxxxxxxxxxxxxxxxxxxxxxxx
And when running this small program that uses libgit2:
test.c.txt
built using
gcc test.c -lgit2 -L <path to libgit2>/libgit2/build/ -Wall -pedantic -I <path to libgit2>/libgit2/include/
And run like this:
LD_LIBRARY_PATH=<path to libgit2>/libgit2/build/ ./a.out <Path to repo> <path to patch file>
Expected behavior
It successfully applies the change
Actual behavior
Error applying patch: -1 no error
I checked also modifying the submodule and it fails too
Version of libgit2 (release number or SHA1)
1.3.0 and main ( d74d491481831ddcd23575d376e56d2197e95910 )
Operating system(s) tested
Linux (Ubuntu 20.04)
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
Bắt đầu với chương trình test.c.txt được đính kèm và tái hiện lỗi bằng một patch xóa hoặc sửa đổi một submodule. Truy vết đường đi áp dụng patch cho kết quả được báo cáo “-1 no error”, sau đó xác minh rằng patch xóa được cung cấp áp dụng thành công trên Linux. Issue không nêu tên tệp nguồn hoặc bài kiểm thử hồi quy, vì vậy việc xác định phần triển khai liên quan và phạm vi bao phủ kiểm thử sẽ cần nghiên cứu repository.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- c, git
- Lĩnh vực
- devtools, tooling
- 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