2015-12-16 3 views
2

Я хочу удалить ветку локально и удаленно. Мой код:libgit2sharp удалить удаленное отделение

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

Но я получаю ошибку 401 ("Самовольное"). И это из-за наличия «:» в названии ветки.

Но я читал, что они необходимы, потому что они похожи на «-delete» в родной git.

Спасибо за помощь!

+0

Вы пытались использовать только 'repository.Network.Push (remote,": branchname ");'? –

+0

есть. тот же результат ... – Sergiu

ответ

3

Это ошибка при ошибке 401 Unauthorized, поскольку она неавторизирована. Чтобы исправить эту ошибку, вам просто нужно передать options содержащих учетные данные для метода Push():

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

Это устранило эту проблему для меня.

Смежные вопросы