2012-10-11 9 views

risposta

19

Branch.IsCurrentRepositoryHead dovrebbe fare il trucco.

Penso Repository.Head sarà anche fare la stessa cosa, se non si vuole per scorrere i rami ...

+0

Nel caso in cui prende qualcun altro, a causa di quanto sia esatta questa proprietà, restituirà false se si è verificato "Branch" ma si è indietro o avanti rispetto a quel ramo su un remoto recuperato. – patridge

+0

Questa funzione non dovrebbe interessare a nessun repository remoto. Fa letteralmente una stringa confrontata con i nomi dei rami. Se pensi che cambierà in base ai repository remoti, ti preghiamo di presentare una segnalazione di bug con un caso di riproduzione. –

0

penso che, invece di passare attraverso i rami e verificare se ogni ramo è l'attuale capo , l'approccio più semplice è quello di ottenere direttamente il nome del ramo dal capo repository:

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

è possibile quindi ottenere il ramo stesso tramite

repo.Branches[currentBranchName] 
+0

Puoi usare il 'Capo' per ottenere il ramo:' repo.Head.Reference.TargetIdentifier'. –

Problemi correlati