Comment déplacer un problème sur github vers un autre dépôt?

96

Cela arrive de temps en temps. Certaines bibliothèques dépendent d'une autre et un utilisateur ouvre un problème qui appartient au mauvais dépôt. Puis-je déplacer le problème vers l'autre repo?

Vous pourriez faire valoir que le problème pourrait être considéré comme étant le problème des deux dépôts, car l'un dépend de l'autre et tant que l'un ne fonctionne pas correctement, les deux ne le font pas. Mais je préfère parler de solutions au problème dans le repo auquel il appartient.

fent
la source
Vous n'avez plus besoin d'être administrateur des référentiels source et de destination pour déplacer un problème entre eux. Voir ma réponse ci-dessous .
VonC

Réponses:

34

Consultez la documentation GitHub sur les problèmes de transfert .

Transférer un problème ouvert vers un autre référentiel

Sur GitHub, accédez à la page principale du référentiel.

Sous le nom de votre référentiel, cliquez sur Problèmes .

Dans la liste des problèmes, cliquez sur le problème que vous souhaitez transférer.

Dans la barre latérale droite, cliquez sur Transférer ce problème .

Matthew McCullough
la source
2
Ce serait formidable de pouvoir déplacer toutes les émissions d'un repo vers un autre.
CGFoX
@CGFoX a créé une demande de fonctionnalité à: github.com/isaacs/github/issues/1605
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
Il convient de noter que vous avez besoin d'une autorisation en écriture sur les deux dépôts, sinon cette option n'est pas disponible.
Brett Sutton
60

Non, officiellement vous ne pouvez pas déplacer les problèmes entre les dépôts.

Il existe cependant un hack, github-issues-import , une sorte de plugin, pour importer des problèmes d'un référentiel à un autre.

Daniel Ribeiro
la source
4
Création d'une autre version piratée de gh-issues- importer
Mikko Ohtamaa
2
gh-issues-importme semblait cassé (a continué à obtenir un 404). J'ai utilisé le script de Mikko et cela a bien fonctionné. Cependant, il n'a pas gardé les problèmes fermés fermés ou importé des étiquettes ou des jalons. Mettez simplement à jour le nom d'utilisateur / mot de passe et supprimez la référence à colored.
Alexandre
3
Pour que le script de Mikko fonctionne pour les problèmes résolus, ajoutez simplement state=closedles paramètres de requête de l'url dans la get_issuesméthode.
Calvin
1
Le script de Mikko fonctionne très bien mais contient un bogue, il crée des problèmes dans un ordre inversé. Ajoutez simplement & sort = created & direction = asc aux paramètres de requête de l'url dans la méthode get_issues.
Marco Fucci
1
J'ai également créé un simple script d'importateur de problèmes pour déplacer un seul problème d'un dépôt à un autre. Il vous demandera le nom d'utilisateur, le mot de passe, le dépôt source et de destination à chaque utilisation, vous n'aurez donc pas du tout à changer le code. Les étiquettes et les jalons sont également copiés. Peut-être que c'est utile pour quelqu'un: github.com/jotweh/IssueRelocate
Jan Wy
3

Déplacer le problème Si vous disposez de l'intégration ZenHub, vous verrez ce bouton tout en bas à droite lors de l'affichage d'un problème. Cela permet au problème d'être copié dans un autre référentiel de la même organisation, ou copié et fermé .

Et oui, "Move Issue" est un abus de langage.

Il semble qu'il n'y ait toujours aucun moyen de déplacer (copier et supprimer) ou simplement supprimer, un problème soumis par erreur.

EDIT: Attention, la v1 de cette fonctionnalité a des limitations majeures comme laisser derrière certaines (la plupart?) Des métadonnées du problème, ne pas notifier les abonnés, etc.

Spike0xff
la source
Hmm, je ne vois pas ce bouton lorsque j'accède à l'un de mes problèmes ouverts.
fent le
1
@DeaDEnD Oh putain, mon mal. C'est une fonctionnalité ZenHub, non intégrée à GitHub. Eh bien, ce n'est pas du tout déroutant, avoir deux organisations piratant indépendamment sur la même interface utilisateur Web.
Spike0xff
1
Et suis-je juste un idiot pour penser que dans mon dialecte anglais, lorsque vous déplacez quelque chose, il apparaît dans un nouvel endroit et cesse d'être là où il était avant ? Une interface utilisateur en deux mots , et ils ne pouvaient pas les obtenir tous les deux, non?
Spike0xff
J'ai essayé, mais je n'ai pas pu trouver mon organisation reposant sur la liste «déplacer vers»
alanjds
2

C'est maintenant (mai 2019) plus facile.

Voir " Améliorations de la délivrance des autorisations de transfert "

Les utilisateurs disposant d'un accès en écriture à deux référentiels peuvent désormais utiliser le transfert de problèmes pour déplacer les problèmes entre eux.
Auparavant, seuls les utilisateurs disposant d'autorisations d'administrateur sur les deux référentiels avaient la possibilité de transférer des problèmes.

De plus, nous n'autoriserons plus le transfert des problèmes des référentiels privés vers les référentiels publics.

Pour en savoir plus, consultez « Transférer un problème vers un autre référentiel ».

VonC
la source
1

La réponse visuelle tirée de la documentation github:

Transférer un problème ouvert vers un autre référentiel

  1. Sur GitHub, accédez à la page principale du référentiel.
  2. Sous le nom de votre référentiel, cliquez sur Problèmes. Onglet Problèmes
  3. Dans la liste des problèmes, cliquez sur le problème que vous souhaitez transférer.
  4. Dans la barre latérale droite, cliquez sur Problème de transfert. Bouton pour transférer le problème
  5. Utilisez le menu déroulant Choisir un référentiel, puis sélectionnez le référentiel vers lequel vous souhaitez transférer le problème.

Choisissez une sélection de référentiel

  1. Cliquez sur Transférer le problème.

Bouton de problème de transfert

Riyafa Abdul Hameed
la source
Oui, la documentation que je mentionne dans ma propre réponse: stackoverflow.com/a/56373555/6309
VonC