2012-10-11 18 views

Odpowiedz

19

Branch.IsCurrentRepositoryHead powinien załatwić sprawę.

myślę Repository.Head zrobi to samo, jeśli nie chcesz iterację gałęzi ...

+0

w przypadku przyciąga kogokolwiek innego, ponieważ dokładna właściwość jest taka, że ​​zwróci false, jeśli wypisałeś 'Branch', ale jesteś za lub przed tą gałęzią na pobranym pilocie. – patridge

+0

Ta funkcja nie powinna przejmować się żadnymi zdalnymi repozytoriami. Dosłownie porównuje łańcuch z nazwami gałęzi. Jeśli uważasz, że zmienia się w zależności od zdalnych repozytoriów, zgłoś zgłoszenie błędu w przypadku rozrodu. –

0

myślę, że zamiast iść za pośrednictwem oddziałów i sprawdzenie, czy każda gałąź jest obecny szef najprostszym sposobem jest bezpośrednio uzyskać nazwę oddziału z repozytorium Kierownik:

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

można wówczas uzyskać samego oddziału poprzez

repo.Branches[currentBranchName] 
+0

Możesz po prostu użyć 'Head', aby uzyskać gałąź:' repo.Head.Reference.TargetIdentifier'. –