1 pontos por sjh9714 39 분 전 | Ainda não há comentários. | Compartilhar no WhatsApp

O GitHub lançou em 17 de junho um recurso que limita o número de PRs abertos ao mesmo tempo por usuários sem permissão de escrita. O recurso veio após muitas reclamações de mantenedores sofrendo com PRs de baixa qualidade despejados por IA, e também era algo pedido desde 2016.

Então medi quanto isso realmente filtra em filas reais de repositórios. Excluindo bots e contando só PRs abertos por autores sem permissão de escrita, calculei quantos casos teriam sido adiados se o limite fosse 3.

  • huggingface/transformers — 55 PRs abertos / 49 autores / com limite 3, 1 PR teria sido adiado
  • typescript-eslint — 28 / 24 / 1
  • DIYgod/RSSHub — 26 / 23 / 1
  • django/django — 79 / 59 / 7
  • caddyserver/caddy — 58 / 43 / 7
  • coollabsio/coolify — 86 / 68 / 11

Isso dá de 2% a 13%.

O motivo era o formato da fila. Em transformers, os 55 PRs vêm de 49 autores. Em coolify, 86 PRs vêm de 68 pessoas. Não é um padrão de spam em que uma pessoa abre trinta PRs; são trinta pessoas abrindo um PR cada. O limite foi criado mirando o primeiro caso, mas a fila real é o segundo.

Isso não quer dizer que o recurso seja inútil. Existem repositórios em que uma única conta realmente lota a fila, e antes esses lugares não tinham nenhum meio de defesa. Mas o volume que chega aos revisores continua quase o mesmo, e ainda fica a tarefa de decidir o que ler primeiro.

Medi também outra coisa. Procurei 167 repositórios que instalaram uma action para fechar automaticamente PRs de baixa qualidade, e em todos os 30 que ainda tinham fila ativa o pull_request_creation_policy estava em all. Como esse é o valor padrão, isso significa que "ninguém mudou" — mas também mostra que o grupo com maior motivação para impor limites não fechou a porta, só colocou um filtro.

E, desses 167 repositórios, 126 (75%) tinham menos de 4 PRs abertos. Ou seja, não dá para ler "N repositórios instalaram filtro de slop" como "N repositórios estão sofrendo uma enchente". Eu mesmo li assim no começo e corrigi depois de medir.

O método de medição e as limitações estão no documento linkado. O limite 3 é uma suposição minha (cada repositório pode configurar de forma diferente), e como isto é um snapshot da fila aberta, PRs que nem chegaram a ser abertos por causa do limite não aparecem — o que também é um dos pontos centrais do recurso. Qualquer pessoa pode reproduzir isso com a lista pública de PRs.

(Divulgação: esta medição saiu do verificador de triagem de PRs que eu criei. Isso significa que há conflito de interesse, então leiam levando isso em conta, mas os números podem ser reproduzidos exatamente a partir da lista pública de PRs de cada repositório.)

Ainda não há comentários.

Ainda não há comentários.