Next: , Previous: , Up: Содействие   [Contents][Index]


16.8 Доступ к коммитам

Для постоянных участников удобно иметь доступ для записи в хранилище. Когда вы сочтете это необходимым, рассмотрите возможность подачи заявки на коммит, выполнив следующие действия:

  1. Найдите трех коммиттеров, которые поручаются за вас. Вы можете просмотреть список коммиттеров по адресу https://savannah.gnu.org/project/memberlist.php?group=guix. Каждый из них должен отправить заявление по электронной почте на адрес guix-maintainers@gnu.org (личный псевдоним коллектива сопровождающих), подписанный ключом OpenPGP.

    Ожидается, что коммиттеры взаимодействовали с вами как c участником и могли судить, достаточно ли вы знакомы с проектом. Это не суждение о ценности вашей работы, поэтому отказ следует скорее интерпретировать как «давайте попробуем позже».

  2. Отправьте guix-keepers@gnu.org сообщение с указанием ваших намерений, перечисляя трех коммиттеров, поддерживающих вашу заявку, подписанных ключом OpenPGP, который вы будете использовать для подписания коммитов, и указав свой отпечаток (смотри ниже). Ознакомся с https://emailselfdefense.fsf.org/ru/, чтобы познакомиться с криптографией с открытым ключом с помощью GnuPG.

    Настройте GnuPG так, чтобы он никогда не использовал хэш-алгоритм SHA1 для цифровых подписей, который, как известно, небезопасен с 2019 года. Например, добавив следующую строку в ~/.gnupg/gpg.conf (see GPG Esoteric Options in The GNU Privacy Guard Manual):

    digest-algo sha512
    
  3. Маинтайнеры решают, предоставлять ли вам доступ к коммитам, обычно следуя рекомендациям ваших рефералов.
  4. Получив доступ, пожалуйста, отправьте сообщение на адрес guix-devel@gnu.org, чтобы снова подписать его ключом OpenPGP, который вы будете использовать для подписания коммитов (сделайте это перед отправкой первого коммита). Таким образом, каждый может заметить и убедиться, что это ваш ключ OpenPGP.

    Важно: Перед тем, как вы отправите изменения впервые, сопровождающие должны:

    1. добавить ваш OpenPGP ключ в keyring ветку;
    2. добавьте отпечаток вашего OpenPGP ключа в .guix-authorizations файл ветки (-ок), которые вы подпишите (commit).
  5. Обязательно прочтите остальную часть этого раздела!

Примечание: Маинтейнеры с радостью предоставят доступ к коммитам людям, которые внесли свой вклад в течение некоторого времени и имеют послужной список - не стесняйтесь и не недооценивайте свою работу!

Тем не менее, обратите внимание, что проект работает над созданием более автоматизированной системы проверки и объединения исправлений, что, как следствие, может привести к тому, что у нас будет меньше людей, имеющих доступ к главному репозиторию. Будьте на связи!

Если вы получили доступ к коммиту, пожалуйста, следуйте приведенной ниже политике (обсуждение политики может проходить по адресу guix-devel@gnu.org).

Нетривиальные патчи всегда должны публиковаться на guix-patches@gnu.org (тривиальные патчи включают исправление опечаток и т.д.). Этот список рассылки заполняет базу данных отслеживания патчей (see Отслеживание ошибок и патчей).

Для патчей, которые просто добавляют новый пакет или внсит небольшие изменения считается нормальным отправить коммит, если вы уверены (что означает, что вы успешно встроили его в настройку chroot и провели разумный аудит авторских прав и лицензий). Аналогично для обновлений пакетов, за исключением обновлений, которые вызывают много перестроений (например, обновление GnuTLS или GLib). У нас есть список рассылки для уведомлений о коммитах (guix-commits@gnu.org), так что люди могут это заметить. Перед отправкой изменений обязательно запустите git pull --rebase.

Все коммиты, которые передаются в центральный репозиторий в Саванне, должны быть подписаны ключом OpenPGP, а открытый ключ должен быть загружен в вашу учетную запись пользователя на Саванне и на серверы открытых ключей, такие как keys.openpgp.org. Чтобы настроить Git для автоматической подписи коммитов, запустите:

git config commit.gpgsign true
git config user.signingkey CABBA6EA1DC0FF33

Вы можете предотвратить случайную отправку неподписанных коммитов в Саванну с помощью pre-push Git hook, расположенной в etc/git/pre-push:

cp etc/git/pre-push .git/hooks/pre-push

Когда вы отправляете коммит от имени кого-то другого, добавьте строку Signed-off-by в конце сообщения коммит лога—например, с git am --signoff. Это улучшает отслеживание того, кто что сделал.

При добавлении новостей канала (see Writing Channel News), убедитесь, что они правильно сформированы, выполнив следующую команду прямо перед нажатием:

make check-channel-news

Для чего-либо еще, пожалуйста, отправьте сообщение на guix-patches@gnu.org и оставьте время для обзора, ничего не коммитя (see Отправка исправлений). Если вы не получили никакого ответа через две недели, и если вы уверены, что все в порядке, будь нормальным совершить коммит.

Эта последняя часть подлежит корректировке, что позволяет отдельным лицам вносить непосредственные изменения в не противоречивые изменения в тех частях, с которыми они знакомы.

Чтобы уменьшить вероятность ошибок, учетные записи контрибьюторов будут удалены из проекта Guix на Savannah, а их ключи - из .guix-authorizations после 12 месяцев бездействия; они могут попросить восстановить доступ к отправке коммитов, отправив электронное письмо мэйнтейнеров, не проходя через процесс подтверждения.

И последнее: проект продолжает двигаться вперед, потому что коммиттеры не только вносят свои собственные потрясающие изменения, но также уделяют свое время на reviewing и продвижение изменений других людей. Как коммиттер, вы можете использовать свой опыт и передавать права, чтобы помочь и другим участникам!


Next: , Previous: , Up: Содействие   [Contents][Index]