Determinando o(s) PR(s)
Quando esta habilidade é invocada, o(s) PR(s) a serem atualizados podem ser especificados explicitamente, mas, no caso comum, o(s) PR(s) a serem atualizados serão inferidos a partir do branch/commit em que o usuário está trabalhando atualmente. Para uso comum do Git (ou seja, não Sapling, como discutido abaixo), talvez seja necessário usar uma combinação de git branch e gh pr view <branch> --repo openai/codex --json number --jq '.number' para determinar o PR associado ao branch/commit atual.
Conteúdo do Corpo do PR
Quando invocada, use gh para editar o corpo e o título do pull request de modo a refletir o conteúdo do PR especificado. Certifique-se de verificar o corpo do pull request existente para ver se há informações importantes que devem ser preservadas. Por exemplo, NUNCA remova uma imagem no corpo do pull request existente, pois o autor pode não ter como recuperá-la se você a remover.
É de extrema importância explicar por que a mudança está sendo feita. Se a conversa atual na qual esta habilidade foi invocada discutiu a motivação, certifique-se de capturá-la no corpo do pull request.
O corpo também deve explicar o que mudou, mas isso deve aparecer depois do porquê.
Limite a discussão à mudança líquida do commit. Geralmente é mal visto discutir mudanças que foram tentadas, mas depois desfeitas no curso do desenvolvimento do pull request. Ao reescrever o corpo do pull request, talvez seja necessário eliminar detalhes como esses quando eles não forem mais apropriados / de interesse para leitores futuros.
Evite referências a caminhos absolutos no meu disco local. Ao falar sobre um caminho que está dentro do repositório, use simplesmente o caminho relativo ao repositório.
Evite referências a informações confidenciais, incluindo, mas não se limitando a codinomes ou URLs internas da OpenAI.
Geralmente é útil discutir como a mudança foi verificada. Dito isso, é desnecessário mencionar coisas que o CI verifica automaticamente, por exemplo, não inclua "executou just fmt" como parte do plano de teste. Embora identificar os novos testes que foram propositalmente introduzidos para verificar o novo comportamento trazido pelo pull request seja frequentemente apropriado.
Use Markdown para formatar o pull request de forma profissional. Certifique-se de que "coisas de código" apareçam entre crases simples quando referenciadas em linha. Blocos de código com cercadura são úteis ao referenciar código ou mostrar um transcript de shell. Além disso, use links permanentes do GitHub ao citar trechos de código existentes que sejam relevantes para a mudança.
Certifique-se de referenciar quaisquer pull requests ou issues relevantes, embora não haja necessidade de referenciar o próprio pull request no corpo dele.
Se houver documentação que deva ser atualizada em https://developers.openai.com/codex como resultado desta mudança, observe isso em uma seção separada perto do final do pull request. Omita esta seção se não houver documentação que precise ser atualizada.
Trabalhando com Stacks
Às vezes, um pull request é composto por uma pilha de commits que se baseiam uns nos outros. Nesses casos, o corpo do PR deve refletir a mudança líquida introduzida pela pilha como um todo, em vez dos commits individuais que compõem a pilha.
Da mesma forma, às vezes um usuário pode estar usando uma ferramenta como o Sapling para aproveitar pull requests empilhados, caso em que a base do PR pode ser um branch que é o head de outro PR na pilha, em vez de main. Nesse caso, certifique-se de discutir apenas a mudança líquida entre a base e o head do PR que está sendo aberto em relação a essa base empilhada, em vez das mudanças em relação a main.
Sapling
Se .git/sl/store estiver presente, então este repositório Git é gerenciado pelo Sapling SCM (https://sapling-scm.com).
No Sapling, execute o seguinte para ver se há um pull request do GitHub associado à revisão atual:
sl log --template '{github_pull_request_url}' -r .
Alternativamente, você pode executar sl sl para ver o branch de desenvolvimento atual e se há um pull request do GitHub associado ao commit atual. Por exemplo, se a saída for:
@ cb032b31cf 72 minutes ago mbolin #11412
╭─╯ tui: show non-file layer content in /debug-config
│
o fdd0cd1de9 Today at 20:09 origin/main
│
~
@indica que o commit atual écb032b31cf- é um branch de desenvolvimento contendo um único commit ramificado a partir de
origin/main - está associado ao pull request #11412 do GitHub