libgit2 / libgit2/libgit2sharp

Deleted tags show up in the list

未關閉
#1,875 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

主要語言
C#
星號
3.5k
分支
925
PR 合併指標
30 天內沒有已合併 PR

描述

Reproduction steps
  1. Add a new tag in github repository online (www.github.com).
  2. Run .Net core Controller.
  3. Added tag show up in the Api.
  4. Delete a tag in github repository online.
  5. Run controller and API.
  6. Deleted tag show up in API Controller.
  7. _repository = new Repository("localfolderpath");
     var network = _repository.Network.Remotes.First();
     var refSpecs = new List<string>() { network.FetchRefSpecs.First().Specification };
     var fetchOptions = new FetchOptions { TagFetchMode = TagFetchMode.All };
     fetchOptions.CredentialsProvider = (_url, _user, _cred) => new DefaultCredentials();
     fetchOptions.CredentialsProvider += (_url, _user, _cred) => _userNamePasswordCredentials;
    
     Commands.Pull(_repository, new Signature(Guid.NewGuid().ToString(), Guid.NewGuid().ToString(), DateTime.Now), new PullOptions()
     {
         FetchOptions = fetchOptions,
         MergeOptions = new MergeOptions()
         {
             MergeFileFavor = MergeFileFavor.Theirs,
             CommitOnSuccess = true
         }
     });
    
     foreach (Remote remote in _repository.Network.Remotes)
     {
         Commands.Fetch(_repository, remote.Name, new string[0], fetchOptions, null);
         _repository.Network.Fetch(remote.Name, remote.FetchRefSpecs.Select(r => r.Specification), fetchOptions);
     }
    
Expected behavior
  1. Deleted tags shouldn't come up when using _repository.Tags
Actual behavior
  1. Deleted tags come up in _repository.Tags
Version of LibGit2Sharp (release number or SHA1)

Libgit2Sharp 0.26.2

Operating system(s) tested; .NET runtime tested

.Net Core 3.5, Microsoft Visual Studio Professional 2019 Version 16.9.0, .Net Framework 4.7.03190, Microsoft windows 10 pro.

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

研究方向

使用所示的 Pull 和 Fetch 呼叫,透過 LibGit2Sharp 0.26.2 重現問題,然後檢查遠端標籤刪除後 _repository.Tags 是如何填入的。將擷取的 refs 與預期的標籤清單進行比較;當已刪除的遠端標籤不再出現在 _repository.Tags 中時,即表示完成。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
csharp, git
領域
devtools
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。