Ответ 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.