libgit2 / libgit2/libgit2sharp

Reading Branch.UpstreamBranchCanonicalName throws an exception

Offen
#1,559 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Up for grabs
Vorherrschende Sprache
C#
Sterne
3.5k
Forks
925
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

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);
        }

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, die Ausnahme zu reproduzieren, während du repo.Branches über den LibGit2.Automation.BranchInfo-Konstruktor aufzählst, wobei du dich auf den im Bericht gezeigten Zugriff auf Branch.UpstreamBranchCanonicalName konzentrierst. Überprüfe das Verhalten für Branches, die den Null-Namen-Fehler auslösen, und bestätige, dass die Branch-Aufzählung ohne die Ausnahme abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, git
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.