Come faccio a spostare un problema su GitHub in un altro repository?


96

Succede ogni tanto. Alcune librerie dipendono da altre e un utente apre un problema che appartiene al repository sbagliato. Posso spostare il problema in un altro repository?

Si potrebbe sostenere che il problema potrebbe essere visto come un problema di entrambi i repository perché uno dipende dall'altro e finché uno non funziona correttamente non lo fanno entrambi. Ma preferisco parlare delle soluzioni al problema nel repo a cui appartiene.


Non è più necessario essere amministratore dei repository di origine e di destinazione per spostare un problema tra di loro. Vedi la mia risposta di seguito .
VonC

Risposte:


34

Consulta la documentazione di GitHub sui problemi di trasferimento .

Trasferimento di un problema aperto in un altro repository

Su GitHub, vai alla pagina principale del repository.

Sotto il nome del tuo repository, fai clic su Problemi .

Nell'elenco dei problemi, fai clic sul problema che desideri trasferire.

Nella barra laterale destra, fai clic su Trasferisci questo problema .


2
Sarebbe bello poter spostare tutti i problemi di un repo in un altro.
CGFoX


Va notato che è necessaria l'autorizzazione di scrittura su entrambi i repository altrimenti questa opzione non è disponibile.
Brett Sutton,

60

No, ufficialmente non puoi spostare i problemi tra i repository.

C'è però un trucco, github-issues-import , una specie di plugin, per importare problemi da un repository a un altro.


4
Creata un'altra versione hackerata di gh-issues-importatore qui github.com/collective/collective.developermanual/blob/master/…
Mikko Ohtamaa

2
gh-issues-importmi sembrava rotto (continuava a prendere un 404). Ho usato la sceneggiatura di Mikko e ha funzionato bene. Tuttavia, non ha mantenuto chiuse le questioni né importato etichette o pietre miliari. Basta aggiornare nome utente / password e rimuovere il riferimento a colored.
Alexandre

3
Per far funzionare lo script di Mikko per problemi chiusi, basta aggiungere state=closedai parametri di query dell'URL nel get_issuesmetodo.
Calvin

1
Lo script di Mikko funziona alla grande ma contiene un bug, crea problemi in ordine inverso. Basta aggiungere & sort = created & direction = asc ai parametri di query dell'URL nel metodo get_issues.
Marco Fucci

1
Ho anche creato un semplice script di importazione dei problemi per spostare un singolo problema da un repository a un altro. Ti chiederà nome utente, password, repository di origine e destinazione ad ogni utilizzo, quindi non dovrai cambiare affatto il codice. Vengono copiate anche le etichette e le pietre miliari. Forse è utile per qualcuno: github.com/jotweh/IssueRelocate
Jan Wy


3

Sposta problema Se hai l'integrazione ZenHub , vedrai questo pulsante in basso a destra durante la visualizzazione di un problema. Ciò consente di copiare il problema in un altro repository nella stessa organizzazione oppure di copiarlo e chiuderlo .

E sì, "Move Issue" è un termine improprio.

Sembra che non ci sia ancora modo di spostare (copiare ed eliminare) o semplicemente eliminare, un problema inviato per errore.

EDIT: Attenzione, la v1 di questa funzione ha grossi limiti come lasciarsi alle spalle alcuni (la maggior parte?) Dei metadati del problema, non avvisare gli abbonati, ecc.


Hmm, non vedo questo pulsante quando vado a uno dei miei problemi aperti.
fent

1
@DeaDEnD Oh diavolo, colpa mia. È una funzionalità ZenHub, non integrata in GitHub. Non è affatto fonte di confusione, avere due organizzazioni che hackerano in modo indipendente sulla stessa interfaccia utente web.
Spike0xff

1
E sono solo uno sciocco pazzo per pensare che nel mio dialetto inglese, quando muovi qualcosa, si presenta in un posto nuovo e cessa di essere dov'era prima ? Un'interfaccia utente di due parole e non sono riusciti a farle entrambe bene?
Spike0xff

Ho provato, ma non sono riuscito a trovare i
repository della

2

Ora (maggio 2019) è più facile.

Vedere " Miglioramenti per il rilascio delle autorizzazioni di trasferimento "

Gli utenti con accesso in scrittura a due archivi possono ora utilizzare il trasferimento dei problemi per spostare i problemi tra di loro.
In precedenza, solo gli utenti con autorizzazioni di amministratore su entrambi i repository avevano la possibilità di trasferire i problemi.

Inoltre, non consentiremo più il trasferimento di problemi da archivi privati ​​a archivi pubblici.

Vedere di più in " Trasferimento di un problema in un altro repository ".


1

La risposta visiva come presa dai documenti di github:

Trasferimento di un problema aperto in un altro repository

  1. Su GitHub, vai alla pagina principale del repository.
  2. Sotto il nome del tuo repository, fai clic su Problemi. Scheda Problemi
  3. Nell'elenco dei problemi, fai clic sul problema che desideri trasferire.
  4. Nella barra laterale destra, fai clic su Trasferisci problema. Pulsante per trasferire il problema
  5. Utilizzare il menu a discesa Scegli un archivio e selezionare l'archivio in cui si desidera trasferire il problema.

Scegli una selezione di repository

  1. Fai clic su Trasferisci problema.

Pulsante problema di trasferimento


Sì, la documentazione ho citato nella mia risposta: stackoverflow.com/a/56373555/6309
VonC
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.