2015-12-16 1 views
2

Je souhaite supprimer une branche localement et à distance. Mon code:libgit2sharp supprimer la branche distante

using (var repository = new Repository(path)) 
{ 
    var remote = repository.Network.Remotes["origin"]; 
    var options = new PushOptions(); 
    var credentials = options.CredentialsProvider = GetUserCredentialsProvider(); 
    options.CredentialsProvider = credentials; 
    string pushRefSpec = @"refs/heads/:{0}".FormatWith(branch); 
    repository.Network.Push(remote, pushRefSpec); 
    repository.Branches.Remove(repository.Branches[branch]); 
} 

Mais je reçois l'erreur 401 ("non autorisée"). Et c'est à cause de la présence du ":" dans le nom de la branche. Mais j'ai lu qu'ils sont nécessaires, car ils sont comme "--delete" en git natif.

Merci pour toute aide!

+0

Avez-vous essayé avec juste 'repository.Network.Push (distant,": nom de la branche ");'? –

+0

oui. le même résultat ... – Sergiu

Répondre

3

Ceci échoue avec une erreur 401 non autorisée car elle n'est pas autorisée. Pour corriger cette erreur, il vous suffit de passer les options contenant vos informations d'identification à la méthode Push():

repository.Network.Push(remote, pushRefSpec, options) 

qui ont fixé ce problème pour moi.