2012-10-11 12 views

Antwort

19

Branch.IsCurrentRepositoryHead sollte den Trick tun.

Ich denke, Repository.Head wird auch das gleiche tun, wenn Sie nicht durch die Zweige iterieren wollen ...

+0

Bei Es fängt sonst irgendjemanden ein, weil, wie genau diese Eigenschaft ist, es false zurückgibt, wenn Sie 'Branch' ausgecheckt haben, aber Sie sind entweder hinter oder hinter dieser Verzweigung auf einer geholten Fernbedienung. – patridge

+0

Diese Funktion sollte sich nicht um Remote-Repositories kümmern. Es vergleicht buchstäblich einen String mit den Branchennamen. Wenn Sie der Meinung sind, dass sich dies abhängig von Remote-Repositorys ändert, reichen Sie bitte einen Fehlerbericht mit einem Reproduktionsfall ein. –

0

Ich denke, dass anstelle der Zweige durchlaufen und geprüft wird, ob jeder Zweig der aktuelle Kopf ist der einfachste Ansatz, um direkt die Zweignamen aus dem Repository Kopf zu bekommen:

using (var repo = new Repository(@"path to .git")) 
{ 
    var currentBranchName = repo.Head.FriendlyName; 
} 

anschließend können Sie den Zweig erhalten sich über

repo.Branches[currentBranchName] 
+0

Sie können einfach den 'Head' verwenden, um die Verzweigung zu erhalten:' repo.Head.Reference.TargetIdentifier'. –

Verwandte Themen