GitHub вводит лимиты на pull request в репозиториях

GitHub представила новую функцию управления вкладом в проекты с открытым исходным кодом — лимиты на pull request, которые помогают поддерживать качество и контролировать поток изменений в популярных репозиториях.

По данным GitHub, количество объединённых pull request на платформе выросло с 25 млн в месяц в январе 2023 года до более чем 90 млн сегодня, то есть примерно в 3,6 раза. Это усилило нагрузку на сопровождающих проекты: создать pull request стало очень просто, а его проверка по-прежнему требует времени человека.

Лимит pull request задаёт максимальное число открытых pull request для пользователя без прав записи в конкретном репозитории. Если участник достиг лимита, он должен закрыть или смержить один из своих pull request, прежде чем открыть новый. Pull request, созданные Copilot или другим ИИ-агентом, также учитываются в лимите. При этом черновики pull request в расчёт не входят.

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

GitHub отмечает, что лимит меняет поведение участников. При неограниченном числе pull request в очереди одинаково выглядят как доработанные изменения, так и сырые наброски. При ограничении на количество открытых запросов разработчик вынужден выбирать, какие изменения отправлять на рассмотрение, ещё до создания pull request. Это снижает объём «шума» и помогает быстрее замечать ценные изменения.

В GitHub подчёркивают, что новая функция уже повлияла на внутренние процессы. По словам команды, стало проще браться за ревью, когда понятно, что один человек не открыл сразу 5–10 малоценных pull request. Ожидается, что лимиты помогут лучше управлять бэклогом и сосредоточиться на задачах, которые действительно важны для проекта.

Сопровождающие популярных проектов подтверждают пользу нововведения. Представитель Homebrew рассказал, что энтузиасты часто отправляют множество очень похожих pull request, и распространение ИИ только ускорило этот поток. Лимиты позволяют сохранять внешний вклад, при этом удерживая нагрузку на ревью в приемлемых пределах. В OpenClaw отметили, что раньше им приходилось разрабатывать собственные боты для борьбы со спамом, а теперь GitHub предлагает готовый инструмент для управления объёмом запросов.

GitHub поясняет, что увеличение лимитов активности особенно важно на фоне роста открытой разработки. Большинство вкладов делается из добрых побуждений, однако даже такие изменения копятся быстрее, чем успевает отвечать один волонтёр. В одной из недавних публикаций компания сравнила это с «вечным сентябрём» в open source. Лимит на pull request помогает вернуть часть внимания сопровождающим, не закрывая доступ для новых авторов.

Компания отмечает, что лимиты на pull request — первый шаг в развитии более гибких инструментов контроля вклада. GitHub уже работает над рядом связанных функций.

Во-первых, скоро появится возможность архивировать pull request. Администраторы репозиториев смогут скрывать низкокачественные или похожие запросы из основного списка, не удаляя их полностью. Архивированные pull request останутся доступны администраторам и будут исключены из стандартного просмотра. GitHub подчёркивает, что отказ от удаления сделан осознанно: некоторым организациям запрещено удалять pull request по юридическим или комплаенс-причинам, а многие сопровождающие хотят сохранять контекст обсуждений.

Во-вторых, ведётся разработка лимитов на задачи (issues). Те же правила, что сейчас действуют для pull request, планируется применить к задачам: задавать ограничение на число открытых issues для пользователя без прав записи, настраивать список обхода лимитов и при необходимости разрешать создание задач только для сотрудников и коллабораторов.

В-третьих, GitHub работает над более «умными» сигналами доверия для обхода лимитов. Цель — сократить ручное управление списками. Вместо того чтобы вручную добавлять участников в список обхода, сопровождающие смогут включить автоматическое снятие ограничений на основе реальных признаков: ранее принятых изменений, возраста аккаунта или членства в организации. Это позволит меньше времени тратить на администрирование и больше — на саму разработку.

Наконец, GitHub исследует межрепозиториальные ограничения. Пер-репозиториальный лимит помогает, если проблема сосредоточена в одном проекте, но он бессилен, когда один пользователь массово создаёт pull request сразу в сотнях репозиториев. Компания рассматривает подходы, которые позволят выявлять такой шаблон поведения: через сигналы доверия, лимиты частоты или другие кросс-репозиториальные механизмы.

GitHub подчёркивает, что экосистема open source держится на людях, которые ежедневно просматривают pull request, помогают новичкам, разбирают бэклог, заводят задачи и сообщают о недостатках инструментов. Компания выражает благодарность тем, кто участвовал в обсуждении и тестировании новой функции, и отмечает, что предложения сопровождающих влияют на дальнейшее развитие этих инструментов.

Поддержка лимитов на pull request уже доступна в настройках репозитория. GitHub призывает администраторов проектов включить функцию, опробовать разные значения лимитов и рассказать, где она помогает, а где требуется доработка.

Информация основана на официальной публикации GitHub.

Читать новости ИИ и технологий в Telegram.


Оцените статью
Gimal-Ai