Подтвердить что ты не робот

Наиболее развитое расширение magit/github для emacs для запросов на pull

Меня особенно интересуют запросы на загрузку, редактирование проблем и привязка их к фиксации, а также другие вещи, которые я обычно должен использовать в концентраторе в командной строке. Тем не менее, я начал использовать magit и, действительно, как keybindings и общий интерфейс. Я тоже хотел бы остаться в emacs для этой части, вместо того, чтобы иметь дополнительную оболочку для запросов на загрузку, проблем и т.д.

Пакеты, которые могут добавить большинство функций github для magit, которые я мог найти, следующие:

Может ли кто-либо, возможно, участвовать в этих проектах, рекомендовать, как они будут сравнивать, и что может быть лучше всего для интеграции запросов на загрузку в среду magit?

4b9b3361

Ответ 1

В конце концов, я буду реализовывать такие вещи в Magit (я являюсь сопровождающим), но сначала мне нужно выпустить релиз.

К сожалению, в настоящее время также нет сторонних расширений, которые могли бы заполнить эту роль. magithub был сломан в течение длительного времени. magit-gh-pulls (Янн, мой предшественник в качестве помощника Магита) также не поддерживался в синхронизации с изменениями в Magit. Я пытался исправить это некоторое время назад, но отказался, когда стало ясно, что это приведет к полной перезаписи. gh.el также записывается Янном и используется magit-gh-pulls. Я пожертвовал им в прошлом, но в конечном итоге прекратил использовать его, потому что (а) он использует url.el, и это оказалось очень ненадежным (b) оно над сложным.

Поэтому я боюсь, что в настоящее время нет пакета, который делает то, что вы хотите. Если вы хотите написать его самостоятельно, я рекомендую вам использовать request.el, а затем реализовать те части Github api, которые вам действительно нужны, чтобы избежать чрезмерной его разработки.

Изменить: по состоянию на октябрь 2015 magit-gh-pulls снова поддерживается, но уже не является официальным расширением. Лично я не использую его, поскольку, по-моему, он должен либо больше, либо меньше. В настоящее время я использую "меньше" в форме magit-branch-pull-request из библиотеки magit-rockstar. Несмотря на то, что я поддерживаю эту библиотеку, я не считаю ее официальным продлением - она ​​предоставляется как есть. Эта функция очень проста, вы даете ей номер проблемы, и она создает для вас ветку.

Изменить в сентябре 2016 года: я написал ghub.el и glab.el в качестве замены для gh.el. Они в основном предназначены для моего личного использования и обеспечивают очень мало, в основном они дают вам такие функции, как ghub-get (resource &optional params data noerror), тогда вам нужно посмотреть соответствующую документацию api, чтобы выяснить, что resource, params и data вам нужно использовать. Также обработка ошибок невелика, и в настоящее время она использует url.el. Я намерен улучшить оба варианта, используя libcurl некоторое время после выхода Emacs с поддержкой ffi.

Ответ 2

Вы можете получить простую "ручную" поддержку Github, установив magit-git-executable в "hub". Затем вы можете использовать все hub команды и функции через magit-git-command (привязанные к : в буферах Magit). Это, по крайней мере, позволяет вам взаимодействовать с Github через Emacs/Magit.

Обратите внимание, что с этой записью это не сработает, потому что версия выпуска hub не распознает параметр --literal-pathspecs, который использует Magit (см. здесь). Итак, до следующего выпуска вам необходимо установить концентратор из последнего источника: https://github.com/github/hub#source