Question

Je ne sais pas, mais j'ai un vague souvenir de créer une demande de traction github avec « numéro 4 » ou quelque chose dans le titre, et il se joint automatiquement à la question 4 dans le projet que je soumettais à. Je l'ai essayé à nouveau récemment et il ne fonctionne pas - il vient de créer une toute nouvelle question à la place. Je ne vois pas d'options comme « Joindre à émettre » sur la nouvelle page de demande de traction, ni « Ouvrir une nouvelle demande de tirage pour cette question » sur la page d'émission. Est-il possible de le faire, pour aider les propriétaires de projet garder leur page des problèmes et éviter les doubles emplois propres?

Modifier : Pour clarifier, je sais que la création d'une demande de traction crée toujours un nouveau question. Je voudrais joindre à la place la demande de traction à une existant question.

Était-ce utile?

La solution

Le projet "hub" peut faire ceci:

https://github.com/defunkt/hub

Dans le dépôt et la branche que vous souhaitez envoyer une demande de traction à partir de:

$ hub pull-request -i 4

utilise l'API GitHub, et attache une demande de traction pour la branche en cours au numéro d'émission existant 4.


EDIT: Commentaire de @atomicules: Pour élargir la réponse par @MichaelMior un exemple complet est:

$ hub pull-request -i 4 -b USERNAME_OF_UPSTREAM_OWNER:UPSTREAM_BRANCH -h YOUR_USERNAME:YOUR_BRANCH URL_TO_ISSUE

Autres conseils

Ajout d'une demande de traction à un problème existant en amont est facile en supposant fourchue en utilisant les moyens de GitHub normaux .

référence simplement la question dans votre message de validation en utilisant l'un des mots-clés pris en charge :

  • close
  • ferme
  • fermé
  • fix
  • fixe
  • fixe
  • résolution
  • décide
  • résolu

Par exemple: "ce commit fixe # 116"

Le texte faisant référence à la question ne semble pas nécessaire dans la ligne objet de votre engagement.

Poussez votre livraison à votre repo github et la demande de tirage sera automatiquement ajouté à la question.

Note: Bien qu'il ne soit pas nécessaire, il est fortement recommandé de vous engager tout ce qui fera partie d'une demande de traction à un particulier de branche distincte à cette question, parce que l'avenir commits sur cette branche seront ajoutés à la demande de traction ( automatiquement par github). Donc, si vous ne l'avez pas fait une branche séparée, laissé sur le maître, puis gardé en développement, alors tous vos commits sans rapport avec le Maître se joint à votre demande de tirage.

Vous pouvez créer une demande Pull d'un problème existant avec le Pull Demande API :

$ curl --user "smparkes" \
       --request POST \
       --data '{"issue": 15, "head": "smparkes:synchrony", "base": "master"}' \
       https://api.github.com/repos/technoweenie/faraday/pulls

Cela crée une demande de traction:

  • demander technoweenie au projet faraday (https://api.github.com/repos/technoweenie/faraday / tractions)
  • pour tirer de la branche synchrony dans smparkes » fourche ( "tête": « smparkes : synchronie « )
  • à la branche master dans la fourchette de technoweenie ( "de base": " maître ")
  • et joindre la demande de tirage au numéro 15 ( "Numéro": 15 )
  • avec le smparkes auteur de la demande de traction (--user " smparkes ")
  • vous serez invité à entrer votre mot de passe GitHub

Un autre outil possible est le site Issue2Pr qui transforme vos questions en Pull demandes .

Il est très simple et efficace!

entrer image description ici

Ressources:

Cette autre réponse explique comment utiliser cURL (curl) pour créer une demande Tirer d'un problème à travers le HTTPie (http), qui produit un et easier- lecture plus facile à commande à modifier:

$ http --auth "<your-GitHub-username>" \
       POST \
       https://api.github.com/repos/<issue-repo-owner>/<issue-repo-name>/pulls \
       issue=<issue-number> head=<your-GitHub-username>:<your-fork-branch-name> base=<issue-repo-branch-name>

Ensuite, tapez votre mot de passe lorsque vous êtes invité GitHub.

Expliqué exemple

Vous vous êtes connecté GitHub avec nom d'utilisateur smparkes et mot de passe Hunter2 . Vous avez vu technoweenie 's repo faraday , pensé à quelque chose qui devrait être changé, et fait un problème sur cette prise en pension pour elle, numéro # 15 . Plus tard, vous trouvez que personne d'autre n'a fait votre changement proposé, et vous avez également un certain temps pour le faire vous-même. Vous fourchette faraday à votre propre compte , puis d'écrire vos modifications et les pousser à votre fourche sous une branche nommée synchronie . Vous pensez technoweenie devrait tirer ces changements au maître branche de sa pension. Ceci est la commande que vous écrivez pour convertir votre question précédente en une demande de Pull de cette situation:

$ http --auth "smparkes" \
       POST \
       https://api.github.com/repos/technoweenie/faraday/pulls \
       issue=15 head=smparkes:synchrony base=master
http: password for smparkes@api.github.com: hunter2

numéro 15 est une demande Pull .

Si vous utilisez 2-facteur-auth avec github vous devrez fournir le authtoken en-tête dans la demande:

curl -u "<your_username>:<your_pw>" \
     --header 'X-GitHub-OTP: <your_authtoken>' \
     --request POST \
     --data '{"issue":"<issue_nr>", "head":"<your_username>:<your_forks_branchname>", "base":"<upstream_branch>"}' \
     https://api.github.com/repos/<upstream_user>/<upstream_repo>/pulls

Vous pouvez également utiliser Gub pour soumettre des demandes de tirage pour votre question.

Il vous permet également d'utiliser un style de la fourche / pull-demande.

Edit: 05/10/2013

Pour obtenir Gub soumettre pull-demande de numéro # 123, vous devez exécuter les éléments suivants:

$ gub start 123

Cela va créer une nouvelle branche numéro 123. Une fois que vous avez fini de travailler sur la question, exécutez:

$ gub finish

Voila!

Note:. Je suis l'auteur de gemme Gub

En utilisant le vous pouvez le faire avec l'outil git-moyeu,:

$> git hub pull attach 123

convertirait question n ° 123 sur demande de traction # 123, maintenant ainsi toute discussion sur la question dans un seul endroit.

Si vous avez 2FA activé, vous pouvez utiliser passer le jeton avec HTTPie:

http POST \
    https://api.github.com/repos/<repo-owner>/<repo-name>/pulls \
    issue=2 head=issue_2 base=master
    "Authorization:token PUTAUTHTOKENHERE"

utilisera la branche issue_2 pour convertir le numéro # 2 dans une demande de traction.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top