Actuellement, je travaille sur une très grosse demande de pull. Afin de garder les revues de code en quelque sorte gérables, l'idée était de diviser la demande d'extraction complète en parties isolées, qui dépendent cependant les unes des autres.
Un exemple serait:
Existe-t-il un moyen dans Github de déposer les quatre demandes d'extraction en même temps avec des dépendances?
Pour autant que je puisse voir, c'est impossible, et à mon avis, c'est l'un des principaux inconvénients de GitHub par rapport à d'autres outils de révision de code. Gerrit configure automatiquement les révisions de code dépendantes lorsque vous envoyez des validations qui dépendent les unes des autres, et dans Phabricator, c'est plus pénible, mais toujours possible.
Il est également bon de garder à l'esprit qu'il existe plusieurs façons d'utiliser les relations publiques GitHub. La méthode de collaboration open source normale consiste à créer un référentiel et à soumettre une demande d'extraction entre référentiels, mais dans d'autres cas (par exemple au sein d'une organisation), vous pouvez soumettre des demandes d'extraction pour des différences dans le même référentiel. Je pense que dans un référentiel unique, il est plus raisonnable d'obtenir quelque chose dans le sens des demandes d'extraction dépendantes, car vous pouvez configurer la structure de validation/branche dans ce référentiel.
Voici un article de blog qui décrit comment obtenir certains avantages des demandes de tirage dépendantes, qui, je pense, nécessitent que tous les commits soient dans le même référentiel: http://graysonkoonce.com/stacked-pull-requests-keeping-github -diffs-small /
Un résumé:
Cette approche semble fonctionner correctement pour les changements géants qui sont mieux examinés en petits morceaux (bien que le maintien d'une hiérarchie de branche à n niveaux soit une douleur par rapport à quelque chose comme git rebase -i
), mais cela ne permet pas vraiment de créer un "pipeline de révision de code" dans lequel vous pouvez avoir des différences de dépendance à différents stades de la révision et vous pouvez atterrir plus tôt lors de leur révision.
Certaines autres ressources Internet qui semblent également souligner la limitation:
https://www.quora.com/Is-there-a-good-system-for-adding-multiple-pull-requests-to-GitHub
https://muffinresearch.co.uk/how-do-you-deal-with-dependent-branches-on-github/
Ma compréhension est que les gens qui utilisent GitHub PR essaient généralement de structurer leur flux de travail pour ne pas s'appuyer sur les revues de code dépendantes. Quelques exemples: