Repository.merge_file_from_index - can't take a None as an argument
未关闭
还没有人认领这个 Issue。
- 主要语言
- Python
- 星标
- 1.7k
- 派生
- 408
- 平均合并
- 2 天 57 分钟
- 30 天内合并 PR
- 7
描述
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?
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
阅读第 682 行附近的 pygit2/repository.py,并运行针对 Repository.merge_file_from_index 的所示测试。检查实现是否按照签名所示接受 theirs 参数为 None;对于文件已删除的情况,行为与测试一致即表示完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- git, python
- 领域
- tooling
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 38/100