libgit2 / libgit2/libgit2sharp
Reading Branch.UpstreamBranchCanonicalName throws an exception
未关闭
还没有人认领这个 Issue。
Up for grabs
- 主要语言
- C#
- 星标
- 3.5k
- 派生
- 925
- PR 合并指标
- 30 天内没有已合并 PR
描述
LibGit2 0.24.0. In C#, when I access the UpstreamBranchCanonicalName property on Branch I get this exception:
Message : Value cannot be null.
Parameter name: name
ParamName : name
Data : {}
InnerException :
TargetSite : System.String get_UpstreamBranchCanonicalName()
StackTrace : at LibGit2Sharp.Branch.get_UpstreamBranchCanonicalName()
at LibGit2.Automation.BranchInfo..ctor(Branch branch)
HelpLink :
Source : LibGit2Sharp
HResult : -2147467261
I am enumerating the branches in PowerShell:
$repo.Branches |
ForEach-Object { New-Object LibGit2.Automation.BranchInfo $_ }
The constructor for my LibGit2.Automation.BranchInfo object is where Branch throws an exception:
public BranchInfo(Branch branch)
{
Name = branch.FriendlyName;
CanonicalName = branch.CanonicalName;
UpstreamBranchCanonicalName = branch.UpstreamBranchCanonicalName;
IsRemote = branch.IsRemote;
IsTracking = branch.IsTracking;
IsCurrentRepositoryHead = branch.IsCurrentRepositoryHead;
Tip = new CommitInfo(branch.Tip);
}
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
首先,通过 LibGit2.Automation.BranchInfo 构造函数枚举 repo.Branches 来复现异常,重点关注报告中显示的 Branch.UpstreamBranchCanonicalName 访问。验证会触发 null 名称错误的分支的行为,并确认分支枚举能够在不发生异常的情况下完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- csharp, git
- 领域
- devtools
- Issue 类型
- 缺陷
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100