Spec-Zone.ru › Homebrew

Как создать запрос на изменение Homebrew

Следующие команды используются участниками Homebrew для настройки форка репозитория Homebrew в Git на GitHub, создания новой ветки и создания запроса на изменение («PR») на GitHub для внесённых изменений в этой ветке.

В зависимости от изменений, которые вы хотите внести, вам необходимо отправить запрос на изменение в соответствующий основной репозиторий Homebrew. Если вы хотите внести изменения в основной код Homebrew (реализация brew), вы должны создать запрос на изменение в репозитории Homebrew/brew. Если вы хотите внести изменения для формулы, вы должны создать запрос на изменение в репозитории homebrew/core tap, для бочек — в репозитории homebrew/cask tap или другом официальном tap, в зависимости от типа формулы.

Предложение новой версии существующей формулы

  1. Используйте brew bump-formula-pr для выполнения всех действий (т.е. форкинг, коммиты, пуш) одной командой. Запустите brew bump-formula-pr --help для получения дополнительной информации.

Предложение новой версии существующей бочки

  1. Используйте brew bump-cask-pr для выполнения всех действий (т.е. форкинг, коммиты, пуш) одной командой. Запустите brew bump-cask-pr --help для получения дополнительной информации.

Настройка собственного форка репозитория Homebrew

Запрос на изменение, связанный с основным кодом brew

  1. Создайте форк репозитория Homebrew/brew на GitHub.
    • Это создаёт личный удалённый репозиторий, в который вы можете производить пуш. Это необходимо, потому что только у участников Homebrew есть доступ для пуша в основные репозитории.
  2. Перейдите в каталог, содержащий вашу установку Homebrew:
    cd "$(brew --repository)"
  3. Добавьте ваш форкнутый репозиторий для пуша как новый удалённый репозиторий:
    git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/brew.git
    • <YOUR_USERNAME> — это ваше имя на GitHub, а не имя пользователя вашей локальной машины.

Запрос на изменение, связанный с формулами

  1. Создайте форк репозитория Homebrew/homebrew-core на GitHub.
    • Это создаёт личный удалённый репозиторий, в который вы можете производить пуш. Это необходимо, потому что только у участников Homebrew есть доступ для пуша в основные репозитории.
  2. Перейдите в каталог, содержащий формулы Homebrew:
    cd "$(brew --repository homebrew/core)"
  3. Добавьте ваш форкнутый репозиторий для пуша как новый удалённый репозиторий:
    git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/homebrew-core.git
    • <YOUR_USERNAME> — это ваше имя на GitHub, а не имя пользователя вашей локальной машины.

Запрос на изменение, связанный с бочками

  1. Создайте форк репозитория Homebrew/homebrew-cask на GitHub.
    • Это создаёт личный удалённый репозиторий, в который вы можете производить пуш. Это необходимо, потому что только у участников Homebrew есть доступ для пуша в основные репозитории.
  2. Перейдите в каталог, содержащий бочки Homebrew:
    cd "$(brew --repository homebrew/cask)"
  3. Добавьте ваш форкнутый репозиторий для пуша как новый удалённый репозиторий:
    git remote add <YOUR_USERNAME> https://github.com/<YOUR_USERNAME>/homebrew-cask.git
    • <YOUR_USERNAME> — это ваше имя на GitHub, а не имя пользователя вашей локальной машины.

Создание запроса на изменение из новой ветки

Чтобы создать новую ветку и отправить её на проверку, создайте запрос на изменение на GitHub следующим образом:

  1. Переключитесь на ветку master:
    git checkout master
  2. Получите новые изменения в ветку master:
    brew update
  3. Создайте новую ветку из последней ветки master:
    git checkout -b <YOUR_BRANCH_NAME> origin/master
  4. Внесите свои изменения. Для формул или бочек используйте brew edit или ваш любимый текстовый редактор, следуя всем указаниям в Справочнике по формулам или Справочнике по бочкам.
    • Если в формуле есть блок bottle do, не удаляйте и не изменяйте его; мы обновим его при получении вашего запроса на изменение.
  5. Протестируйте свои изменения, запустив следующее, и убедитесь, что всё проходит без проблем. Для изменённых формул и бочек убедитесь, что вы выполнили шаг 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>
  6. Сделайте отдельный коммит для каждой изменённой формулы с git add и git commit.
    • Обратите внимание, что наш предпочтительный формат сообщения о коммите для простых обновлений версии — это «<FORMULA_NAME> <NEW_VERSION>», например «source-highlight 3.1.8».
  7. Загрузите вашу ветку новых коммитов в ваш форк:
    git push --set-upstream <YOUR_USERNAME> <YOUR_BRANCH_NAME>
  8. Перейдите к соответствующему репозиторию (например, https://github.com/Homebrew/brew, https://github.com/Homebrew/homebrew-core и т.д.) и создайте запрос на изменение, чтобы запросить обзор и слияние коммитов в вашей отправленной ветке. Объясните, почему необходимо это изменение, и, если исправление ошибки, как воспроизвести ошибку. Убедитесь, что вы выполнили каждый шаг в списке проверок, который появляется в вашем новом запросе на изменение.
  9. Ожидайте обратную связь или слияние от модераторов Homebrew. Мы обычно отвечаем на все запросы на изменение в течение нескольких дней, но может потребоваться до недели, в зависимости от рабочей нагрузки модераторов.

Спасибо!

Последующие действия

Чтобы хорошо реагировать на обратную связь:

  1. Задавайте уточняющие вопросы по тому, что вам не понятно, и просите помощи по тому, что вы не знаете, как сделать.
  2. Оставьте комментарий в запросе на изменение, если вы предоставили все запрошенные изменения/информацию, и он не был объединён через неделю. Оставьте комментарий в запросе на изменение, если вы застряли и нуждаетесь в помощи.
    • Метка needs response в запросе на изменение означает, что модераторы Homebrew требуют от вас ответа на предыдущие комментарии.
  3. Ведите дискуссию в запросе на изменение, если не указано иное (т.е. не отправляйте модераторам электронные письма лично).
  4. Не продолжайте дискуссию в закрытых запросах на изменение.
  5. Не спорьте с модераторами Homebrew. Вы можете не соглашаться, но, пока они не изменят своего мнения, пожалуйста, выполните их требования. В конечном счёте, они контролируют, что включено в Homebrew, поскольку они должны поддерживать любые внесённые изменения.

Чтобы внести изменения на основе обратной связи:

  1. Ещё раз переключитесь на свою ветку:
    git checkout <YOUR_BRANCH_NAME>
  2. Внесите любые запрошенные изменения и зафиксируйте их с помощью git add и git commit.
  3. Объедините новые коммиты в один коммит на формулу:
    git rebase --interactive origin/master
    • Если вы работаете над запросом на изменение для одной формулы, git commit --amend — удобный способ сохранения объединённых коммитов по ходу работы.
  4. Произведите пуш в удалённую ветку вашего форка и в запрос на изменение:
    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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API