Наиболее разработанное расширение magit/github для emacs для pull-запросов
Вопрос
Меня особенно интересуют запросы на извлечение, проблемы с редактированием и привязкой их к коммитам, а также другие вещи, которые мне обычно приходится использовать концентратор в командной строке для.Тем не менее, я начал использовать magit, и мне действительно нравятся привязки клавиш и общий интерфейс - я бы хотел остаться в emacs и для этой части, вместо того, чтобы держать дополнительную оболочку открытой для запросов на извлечение, проблем и т.д.
Пакеты, которые могли бы добавить в magit большую часть функциональности github, которые я смог найти, - это:
Может ли кто-нибудь, возможно, участвующий в этих проектах, порекомендовать, как они будут сравниваться и что может быть лучше для интеграции pull-запросов в среду magit?
Решение
В конце концов я реализую такие вещи в Magit (я сопровождающий), но сначала мне нужно выпустить релиз.
К сожалению, в настоящее время также не существует сторонних расширений, которые могли бы выполнять эту роль. magithub
уже давно сломан. magit-gh-pulls
(автор Ян, мой предшественник на посту сопровождающего Magit) также не был синхронизирован с изменениями в Magit.Я пытался исправить это некоторое время назад, но сдался, когда стало ясно, что это приведет к полному переписыванию . gh.el
также написан Янном и используется magit-gh-pulls
.Я внес свой вклад в него в прошлом, но в конце концов перестал им пользоваться, потому что (а) он использует url.el
и это оказалось очень ненадежным (б) это слишком сложно.
Поэтому, боюсь, в настоящее время нет пакета, который делал бы то, что вы хотите.Если вы хотите написать это самостоятельно, я рекомендую вам использовать 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.
Другие советы
Вы можете получить простую "ручную" поддержку Github, установив magit-git-executable
к "hub"
.Тогда вы сможете использовать все hub
команды и функции с помощью magit-git-command
(привязан к :
в буферах Magit).Это, по крайней мере, позволяет вам взаимодействовать с Github через Emacs/Magit.
Хотя обратите внимание, что на момент написания этой статьи это не будет работать, поскольку выпускная версия hub
не распознает --literal-pathspecs
параметр, который использует Magit (смотрите здесь).Итак, до следующего выпуска вам необходимо установить hub из последнего исходного кода: https://github.com/github/hub#source