Как создать запрос на изменение Homebrew
Следующие команды используются участниками Homebrew для настройки форка репозитория Homebrew в Git на GitHub, создания новой ветки и создания запроса на изменение («PR») на GitHub для внесённых изменений в этой ветке.
В зависимости от изменений, которые вы хотите внести, вам необходимо отправить запрос на изменение в соответствующий основной репозиторий Homebrew. Если вы хотите внести изменения в основной код Homebrew (реализация brew), вы должны создать запрос на изменение в репозитории Homebrew/brew. Если вы хотите внести изменения для формулы, вы должны создать запрос на изменение в репозитории homebrew/core tap, для бочек — в репозитории homebrew/cask tap или другом официальном tap, в зависимости от типа формулы.
Предложение новой версии существующей формулы
- Используйте
brew bump-formula-prдля выполнения всех действий (т.е. форкинг, коммиты, пуш) одной командой. Запуститеbrew bump-formula-pr --helpдля получения дополнительной информации.
Предложение новой версии существующей бочки
- Используйте
brew bump-cask-prдля выполнения всех действий (т.е. форкинг, коммиты, пуш) одной командой. Запуститеbrew bump-cask-pr --helpдля получения дополнительной информации.
Настройка собственного форка репозитория Homebrew
Запрос на изменение, связанный с основным кодом brew
-
Создайте форк репозитория Homebrew/brew на GitHub.
- Это создаёт личный удалённый репозиторий, в который вы можете производить пуш. Это необходимо, потому что только у участников Homebrew есть доступ для пуша в основные репозитории.
- Перейдите в каталог, содержащий вашу установку Homebrew:
cd "$(brew --repository)"
- Добавьте ваш форкнутый репозиторий для пуша как новый удалённый репозиторий:
git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/brew.git
-
<YOUR_USERNAME>— это ваше имя на GitHub, а не имя пользователя вашей локальной машины.
-
Запрос на изменение, связанный с формулами
-
Создайте форк репозитория Homebrew/homebrew-core на GitHub.
- Это создаёт личный удалённый репозиторий, в который вы можете производить пуш. Это необходимо, потому что только у участников Homebrew есть доступ для пуша в основные репозитории.
- Перейдите в каталог, содержащий формулы Homebrew:
cd "$(brew --repository homebrew/core)"
- Добавьте ваш форкнутый репозиторий для пуша как новый удалённый репозиторий:
git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/homebrew-core.git
-
<YOUR_USERNAME>— это ваше имя на GitHub, а не имя пользователя вашей локальной машины.
-
Запрос на изменение, связанный с бочками
-
Создайте форк репозитория Homebrew/homebrew-cask на GitHub.
- Это создаёт личный удалённый репозиторий, в который вы можете производить пуш. Это необходимо, потому что только у участников Homebrew есть доступ для пуша в основные репозитории.
- Перейдите в каталог, содержащий бочки Homebrew:
cd "$(brew --repository homebrew/cask)"
- Добавьте ваш форкнутый репозиторий для пуша как новый удалённый репозиторий:
git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/homebrew-cask.git
-
<YOUR_USERNAME>— это ваше имя на GitHub, а не имя пользователя вашей локальной машины.
-
Создание запроса на изменение из новой ветки
Чтобы создать новую ветку и отправить её на проверку, создайте запрос на изменение на GitHub следующим образом:
- Переключитесь на ветку
master:git checkout master
- Получите новые изменения в ветку
master:brew update
- Создайте новую ветку из последней ветки
master:git checkout -b <YOUR_BRANCH_NAME> origin/master
- Внесите свои изменения. Для формул или бочек используйте
brew editили ваш любимый текстовый редактор, следуя всем указаниям в Справочнике по формулам или Справочнике по бочкам.- Если в формуле есть блок
bottle do, не удаляйте и не изменяйте его; мы обновим его при получении вашего запроса на изменение.
- Если в формуле есть блок
- Протестируйте свои изменения, запустив следующее, и убедитесь, что всё проходит без проблем. Для изменённых формул и бочек убедитесь, что вы выполнили шаг
brew audit, пока ваша изменённая формула/бочка установлена.brew tests brew install --build-from-source <CHANGED_FORMULA|CHANGED_CASK> brew test <CHANGED_FORMULA|CHANGED_CASK> brew audit --strict --online <CHANGED_FORMULA|CHANGED_CASK>
-
Сделайте отдельный коммит для каждой изменённой формулы с
git addиgit commit.- Обратите внимание, что наш предпочтительный формат сообщения о коммите для простых обновлений версии — это «
<FORMULA_NAME> <NEW_VERSION>», например «source-highlight 3.1.8».
- Обратите внимание, что наш предпочтительный формат сообщения о коммите для простых обновлений версии — это «
- Загрузите вашу ветку новых коммитов в ваш форк:
git push --set-upstream <YOUR_USERNAME> <YOUR_BRANCH_NAME>
- Перейдите к соответствующему репозиторию (например, https://github.com/Homebrew/brew, https://github.com/Homebrew/homebrew-core и т.д.) и создайте запрос на изменение, чтобы запросить обзор и слияние коммитов в вашей отправленной ветке. Объясните, почему необходимо это изменение, и, если исправление ошибки, как воспроизвести ошибку. Убедитесь, что вы выполнили каждый шаг в списке проверок, который появляется в вашем новом запросе на изменение.
- Ожидайте обратную связь или слияние от модераторов Homebrew. Мы обычно отвечаем на все запросы на изменение в течение нескольких дней, но может потребоваться до недели, в зависимости от рабочей нагрузки модераторов.
Спасибо!
Последующие действия
Чтобы хорошо реагировать на обратную связь:
- Задавайте уточняющие вопросы по тому, что вам не понятно, и просите помощи по тому, что вы не знаете, как сделать.
- Оставьте комментарий в запросе на изменение, если вы предоставили все запрошенные изменения/информацию, и он не был объединён через неделю. Оставьте комментарий в запросе на изменение, если вы застряли и нуждаетесь в помощи.
- Метка
needs responseв запросе на изменение означает, что модераторы Homebrew требуют от вас ответа на предыдущие комментарии.
- Метка
- Ведите дискуссию в запросе на изменение, если не указано иное (т.е. не отправляйте модераторам электронные письма лично).
- Не продолжайте дискуссию в закрытых запросах на изменение.
- Не спорьте с модераторами Homebrew. Вы можете не соглашаться, но, пока они не изменят своего мнения, пожалуйста, выполните их требования. В конечном счёте, они контролируют, что включено в Homebrew, поскольку они должны поддерживать любые внесённые изменения.
Чтобы внести изменения на основе обратной связи:
- Ещё раз переключитесь на свою ветку:
git checkout <YOUR_BRANCH_NAME>
- Внесите любые запрошенные изменения и зафиксируйте их с помощью
git addиgit commit. - Объедините новые коммиты в один коммит на формулу:
git rebase --interactive origin/master
- Если вы работаете над запросом на изменение для одной формулы,
git commit --amend— удобный способ сохранения объединённых коммитов по ходу работы.
- Если вы работаете над запросом на изменение для одной формулы,
- Произведите пуш в удалённую ветку вашего форка и в запрос на изменение:
git push --force
После того, как все замечания будут учтены, и если это изменение мы хотим включить (мы включаем большинство изменений), мы добавим ваш коммит в Homebrew. Обратите внимание, что статус запроса на изменение может отображаться как «Закрыт», а не «Объединён», из-за способа, которым мы объединяем вклады. Не беспокойтесь: вы всё равно получите авторские права в фактическом объединённом коммите.
Отлично, теперь вы участник Homebrew!
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/How-To-Open-a-Homebrew-Pull-Request