Como faço para mover um problema do github para outro repo?

96

Acontece de vez em quando. Alguma biblioteca depende de outra e um usuário abre um problema que pertence ao repositório errado. Posso mover o problema para outro repositório?

Você pode argumentar que o problema pode ser visto como um problema de ambos os repositórios porque um depende do outro e, desde que um não funcione corretamente, ambos não funcionam. Mas prefiro falar sobre soluções para o problema no repo ao qual ele pertence.

fent
fonte
Você não precisa mais ser administrador dos repositórios de origem e destino para mover um problema entre eles. Veja minha resposta abaixo .
VonC

Respostas:

34

Consulte os documentos do GitHub sobre problemas de transferência .

Transferir um problema aberto para outro repositório

No GitHub, navegue até a página principal do repositório.

Abaixo do nome do seu repositório, clique em Problemas .

Na lista de problemas, clique no problema que deseja transferir.

Na barra lateral direita, clique em Transferir este problema .

Matthew McCullough
fonte
2
Seria ótimo poder mover todos os problemas de um repo para outro.
CGFoX
@CGFoX criou uma solicitação de recurso em: github.com/isaacs/github/issues/1605
Ciro Santilli 郝海东 冠状 病 六四 事件 事件 法轮功
Deve-se observar que você precisa de permissão de gravação em ambos os repositórios, caso contrário, essa opção não estará disponível.
Brett Sutton
60

Não, oficialmente você não pode mover problemas entre repositórios.

Existe um hack, porém, github-issues-import , uma espécie de plugin, para importar questões de um repositório para outro.

Daniel Ribeiro
fonte
4
Criou outra versão hackeada do gh-issues-importer aqui github.com/collective/collective.developermanual/blob/master/…
Mikko Ohtamaa
2
gh-issues-importparecia quebrado para mim (continuava recebendo um 404). Usei o script do Mikko e funcionou bem. No entanto, ele não manteve os problemas fechados fechados nem importou rótulos ou marcos. Basta atualizar o nome de usuário / senha e remover a referência a colored.
Alexandre
3
Para fazer o script do Mikko funcionar para problemas fechados, basta adicionar state=closedos parâmetros de consulta da url no get_issuesmétodo.
Calvin
1
O script do Mikko funciona muito bem, mas contém um bug, ele cria problemas na ordem inversa. Basta adicionar & sort = created & direction = asc aos parâmetros de consulta do url no método get_issues.
Marco Fucci
1
Também criei um script de importador de problemas simples para mover um único problema de um repo para outro. Ele pedirá nome de usuário, senha, repositório de origem e destino em cada uso, então você não terá que alterar o código. Rótulos e marcos também são copiados. Talvez seja útil para alguém: github.com/jotweh/IssueRelocate
Jan Wy
3

Mover problema Se você tiver a integração com ZenHub , verá este botão no canto inferior direito ao visualizar um problema. Isso permite que o problema seja copiado para outro repo na mesma organização ou copiado e fechado .

E sim, "Mover problema" é um nome impróprio.

Parece não haver ainda nenhuma maneira de mover (copiar e excluir) ou apenas excluir, um problema enviado por engano.

EDIT: cuidado, a v1 deste recurso tem grandes limitações, como deixar para trás alguns (a maioria?) Dos metadados do problema, não notificar assinantes, etc.

Spike0xff
fonte
Hmm, não vejo este botão quando vou para um dos meus problemas abertos.
fent
1
@DeaDEnD Oh inferno, que pena. É um recurso do ZenHub, não integrado ao GitHub. Bem, isso não é nada confuso, ter duas organizações hackeando independentemente na mesma IU da web.
Spike0xff
1
E sou apenas um maluco bobo por pensar que, no meu dialeto do inglês, quando você move algo, ele aparece em um novo lugar e deixa de estar onde estava antes ? Uma interface de usuário de duas palavras , e eles não conseguiam entendê-las direito?
Spike0xff
Eu tentei, mas não consegui encontrar os
repositórios da
2

Agora (maio de 2019) mais fácil.

Consulte " Melhorias para emitir permissões de transferência "

Os usuários com acesso de gravação a dois repositórios agora podem usar a transferência de questões para mover questões entre eles.
Anteriormente, apenas usuários com permissões de administrador em ambos os repositórios tinham a capacidade de transferir problemas.

Além disso, não permitiremos mais a transferência de problemas de repositórios privados para públicos.

Veja mais em " Transferindo um problema para outro repositório ".

VonC
fonte
1

A resposta visual retirada dos documentos do github:

Transferir um problema aberto para outro repositório

  1. No GitHub, navegue até a página principal do repositório.
  2. Abaixo do nome do seu repositório, clique em Problemas. Guia de problemas
  3. Na lista de problemas, clique no problema que deseja transferir.
  4. Na barra lateral direita, clique em Transferir problema. Botão para transferir o problema
  5. Use o menu suspenso Escolher um repositório e selecione o repositório para o qual deseja transferir o problema.

Escolha uma seleção de repositório

  1. Clique em Problema de transferência.

Botão de transferência

Riyafa Abdul Hameed
fonte
Sim, a documentação que menciono em minha própria resposta: stackoverflow.com/a/56373555/6309
VonC