libgit2 / libgit2sharp

Git + .NET = ❤
http://libgit2.github.com
MIT License
3.19k stars 888 forks source link

Deleted tags show up in the list #1875

Open gauravsaxenais opened 3 years ago

gauravsaxenais commented 3 years ago

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() { 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

  2. 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.