Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Repository.merge_file_from_index - can't take a None as an argument

Đang mở
#1,378 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
38/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
git, python
Lĩnh vực
tooling

Hướng nghiên cứu

Đọc pygit2/repository.py quanh dòng 682 và chạy bài kiểm thử được hiển thị cho Repository.merge_file_from_index. Kiểm tra xem phần triển khai có chấp nhận None cho đối số theirs như chữ ký chỉ ra hay không; hoàn thành khi hành vi và bài kiểm thử khớp nhau trong trường hợp tệp bị xóa.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

This is probably more of a libgit2 question but given that I am working on pygit2, I better start the conversation over here.

I am working on writing unit tests for Repository.merge_file_from_index. I want to add a test for a deleted file. The signature of the method provides for None as a valid argument:

    def merge_file_from_index(
        self,
        ancestor: typing.Union[None, IndexEntry],
        ours: typing.Union[None, IndexEntry],
        theirs: typing.Union[None, IndexEntry],
    ) -> str:

So I have this:

def test_merge_file_from_index(testrepo):
    hello_txt = testrepo.index["hello.txt"]

    # deleting the file on theirs
    res = testrepo.merge_file_from_index(hello_txt, hello_txt, None)
    assert res == ""

And I am getting this when I run the test:

>       raise GitError(message)
E       _pygit2.GitError: invalid argument: 'theirs'

Am I wrong in my understanding from the signature that None is a correct value?

Ngôn ngữ chính
Python
Star
1.7k
Fork
408
Merge trung bình
2 ngày 57 phút
Pull request đã merge (30 ngày)
7

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của libgit2/pygit2

Tất cả issue của libgit2/pygit2

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.