Может ли Magit сделать git format-patch?

15

Я просто хотел узнать, есть ли у Magit такая функциональность. Справочное руководство не имеет этого явно, поэтому я спрашиваю.

CestDiego
источник
@itsjeyd Да, извините, я пробовал sx.el (клиент stackexchange для emacs), и он не дал никаких ответов. Как только я открыл ссылку в браузере, я увидел ее, извините :( Редактировать : удаленный комментарий
Lee H
@LeeH Нет проблем, спасибо за продолжение! :)
itjeyd
@LeeH Это очень странно. Если вы столкнулись с этой проблемой снова, пожалуйста, отправьте отчет об ошибке.
Малабарба
@ Малабарба я сделал! Тогда это было исправлено в sx.el и теперь все работает :)
Lee H

Ответы:

16

Вы правы, похоже, он не встроен. Но обратите внимание, что вы можете запустить любую git подкоманду из буфера Magit, нажав :, что magit-git-commandпо умолчанию связано с :

magit-git-commandэто интерактивная функция автозагрузки скомпилирован Lisp в magit.el.

(magit-git-command ARGS DIRECTORY)

Выполните подкоманду Git асинхронно, отображая вывод. С префиксным аргументом запустите Git в корне текущего репозитория. Неинтерактивно запускайте Git в DIRECTORYс ARGS.

Таким образом, чтобы получить патч, например, для последнего коммита с использованием, git format-patchвы можете сделать следующее:

: format-patch -1 RET

Вывод (отображается в *magit-process*буфере) будет выглядеть примерно так:

  0 git --no-pager -c core.preloadindex=true format-patch -1
0001-Commit-message-associated-with-latest-commit.patch
itsjeyd
источник
16

Начиная с v2.1.0Magit обеспечивает базовую поддержку, git format-patchа также git request-pull. Они имеют всплывающее окно magit-patch-popup, которое Wсвязано с.

Tarsius
источник