Exception: "An item with the same key has already been added" when comparing commits
还没有人认领这个 Issue。
评估
调研方向
从 LibGit2Sharp/Patch.cs 中的 AddFileChange 开始,并检查 Diff.Compare 期间从 Diff.cs 发起的调用路径。使用提交 a9a82df96ab1f73c69b2668b91eda31e672bbf98 和 ede0b0c359d5af516889563bebafd51b7f43115a 重现该比较。完成标准是该比较不再抛出重复键 ArgumentException,并返回预期的 patch 变更。
由索引模型根据 Issue 内容生成。
描述
I get ArgumentException when comparing two commits from https://github.com/shageman/the_next_big_thing with v.0.23.1.0
System.ArgumentException:` An item with the same key has already been added. at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at LibGit2Sharp.Patch.AddFileChange(git_diff_delta* delta) in c:\Git\LibGit2Sharp-2\LibGit2Sharp\Patch.cs:line 54 at LibGit2Sharp.Patch..ctor(DiffHandle diff) in c:\Git\LibGit2Sharp-2\LibGit2Sharp\Patch.cs:line 43 at LibGit2Sharp.Diff.<.cctor>b__1b(DiffHandle diff) in c:\Git\LibGit2Sharp-2\LibGit2Sharp\Diff.cs:line 104 at LibGit2Sharp.Diff.BuildDiffResult[T](DiffHandle diff) in c:\Git\LibGit2Sharp-2\LibGit2Sharp\Diff.cs:line 120 at LibGit2Sharp.Diff.Compare[T](Tree oldTree, Tree newTree, IEnumerable`1 paths, ExplicitPathsOptions explicitPathsOptions, CompareOptions compareOptions) in c:\Git\LibGit2Sharp-2\LibGit2Sharp\Diff.cs:line 253 at LibGit2Sharp.Diff.Compare[T](Tree oldTree, Tree newTree) in c:\Git\LibGit2Sharp-2\LibGit2Sharp\Diff.cs:line 157
The code I'am using:
this.repository.Diff.Compare<Patch>(commitB.Tree, commitA.Tree);
commitA: a9a82df96ab1f73c69b2668b91eda31e672bbf98 Move rails application back to root to make heroku deployment work again
commitB: ede0b0c359d5af516889563bebafd51b7f43115a Gemnasium doesn't recognize Gemfile when its not in the root. Let's try symlinks
- 主要语言
- C#
- 星标
- 3.5k
- 派生
- 925
- PR 合并指标
- 30 天内没有已合并 PR
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
libgit2/libgit2sharp 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 52/100
libgit2/libgit2sharp#2193 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 38/100
libgit2/libgit2sharp#2192 · 1 条评论 ·
-
Website is down 未关闭
难度 4/5 3-5 天 新手友好度 20/100
libgit2/libgit2sharp#2191 · 2 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 68/100
libgit2/libgit2sharp#2189 · 1 个 reaction ·
-
难度 3/5 1-2 天 新手友好度 35/100
libgit2/libgit2sharp#2187 · 2 条评论 ·
查看 libgit2/libgit2sharp 的全部 Issue
相似的 Issue
-
bug
难度 1/5 1 小时以内 新手友好度 75/100
sillsdev/languageforge-lexbox#2665 ·
-
bug documentation frontend
难度 2/5 1-3 小时 新手友好度 72/100
azurenoops/spin_agent#975 ·
-
难度 2/5 1-3 小时 新手友好度 86/100
-
:watch: Not Triaged 11.0 fundamentals/subsvc
难度 2/5 1-3 小时 新手友好度 92/100
dotnet/AspNetCore.Docs#37699 ·
-
难度 2/5 1-3 小时 新手友好度 72/100
SubtitleEdit/subtitleedit#15108 · 1 条评论 ·