Usando ediff para visualizar uma solicitação de recebimento do Github

7

Gostaria de poder revisar as solicitações de recebimento do Github como uma única "sessão" do ediff (se essa é a palavra certa). No entanto, sempre que uso magit-ediffdo Magit, posso ediff apenas um único arquivo de uma só vez, então tenho que sair da sessão ediff e reiniciar uma nova sessão ediff no próximo arquivo.

Existe uma maneira de usar o ediff para revisar uma solicitação de recebimento inteira do Github que pode ter vários commit e vários arquivos alterados?

Lee H
fonte
11
Você pode tentar: github.com/sigma/magit-gh-pulls Eu não o usei, mas pode fazer o que você precisa. Além disso, você pode achar isso relevante: endlessparentheses.com/…
xmonk
Você também pode estar interessado no segundo post dessa série que o @xmonk vinculou.
Malabarba
Eu fiz o check-out do magit-gh-pulls, mas não consegui fazê-lo funcionar (ele nunca mostra nenhum pedido de pull). No entanto, eu ainda não acho que isso me permite visualizar a PR como uma única sessão ediff embora :(
Lee H

Respostas:

2

Você pode visualizar uma solicitação pull do Github como um patch regular anexando .patchao URL da solicitação pull. Por exemplo, uma solicitação de recebimento com o URL https://github.com/bli25wisc/RSEM/pull/6 (modificando quatro arquivos com três confirmações) pode ser vista como um patch regular, visitando https://github.com/bli25wisc/ RSEM / pull / 6.patch, que é automaticamente redirecionado para https://patch-diff.githubusercontent.com/raw/bli25wisc/RSEM/pull/6

O patch pode ser visualizado diff-modeou você pode aplicá-lo e comparar as diferenças com ediff-patch-file.

rekado
fonte
Quando uso ediff-patch-file, infelizmente, não consigo resolver nenhum dos arquivos. Entendi: Ediff deduziu que /Users/hinmanm/src/elasticsearch/TransportShardReplicationOperationAction.java são dois destinos possíveis para esse patch. No entanto, esses arquivos não existem.
21715 Lee
Esses arquivos existem? Ou eles deveriam ser criados pelo patch? Eu acho que seria útil ver o patch em questão.
rekado
Aqui está o exemplo de solicitação pull: github.com/elastic/elasticsearch/pull/10624
Lee H