Как удалить пульт с помощью LibGit2Sharp?

Я проверил libgit2sharp v0.15.0, и похоже, что нет способа удалить пульт.

Есть ли способ сделать это?


person kolbasov    schedule 24.12.2013    source источник


Ответы (1)


Я проверил libgit2sharp v0.15.0, и похоже, что нет способа удалить пульт.

Это совершенно правильно. Такого метода еще не существует, так как он еще не поддерживается libgit2.

Ведется работа (см. PR №1199), чтобы реализовать это. Подписка на этот PR позволит вам узнать о его будущем прогрессе.

Есть ли способ сделать это?

Сделать это своими руками можно так:

  • Удалите весь раздел конфигурации, описывающий удаляемый пульт.
  • Удалить из конфига каждую ветку (удаленку, слияние) кортежа, который зависит от удаляемого удалённого
  • Удалить из .git/refs/remotes/ все ссылки на ветки удаленного отслеживания

Например, если вы готовы бросить пульт "бесполезно"

Удалить весь этот раздел из конфигурации

[remote "useless"]
    url = https://github.com/useless/project.git
    fetch = +refs/heads/*:refs/remotes/useless/*

Удалить удаленные и объединить записи из двух следующих ветвей

[branch "vNext"]
    remote = useless
    merge = refs/heads/vNext

[branch "topic/awesome_feature"]
    remote = useless
    merge = refs/heads/topic/awesome_feature

Удалить следующие ссылки

 - .git/refs/remotes/useless/vNext
 - .git/refs/remotes/useless/topic/awesome_feature

Обновлять

Запрос на вытягивание #731 только что сделал возможным удаление пультов через API.

  • Синтаксис: repo.Network.Remotes.Remove(remoteName)
person nulltoken    schedule 25.12.2013