2016-09-20 2 views
0

Actuellement, je pense à faire quelque chose comme çaGit PR pour plusieurs référentiels

enter image description here

L'idée est que je veux avoir une vie de bibliothèque partagée dans son propre référentiel tandis que chacune des solutions (A/B/C) vivent dans un dépôt séparé. La solution (A/B/C) va lier la référence du référentiel de la bibliothèque de partage.

De cette façon, je peux réutiliser la bibliothèque partagée pour tout nouveau projet potentiel que je vais réaliser.

Le problème est, je ne sais pas comment faire une demande d'extraction pour travailler entre les référentiels. Disons que j'ai besoin de changer quelque chose dans la solution A dont je devrais changer la bibliothèque partagée aussi. D'après ce que j'ai lu, je devrais pouvoir m'engager dans les deux dépôts en même temps, mais je n'ai trouvé aucune documentation sur la façon de faire fonctionner les relations publiques.

Est-ce possible?

Répondre

3

La solution ici serait de placer la bibliothèque partagée dans un sous-module git dans chacun des référentiels. De cette façon, vous pouvez valider les modifications apportées à la bibliothèque partagée à partir de l'un de vos référentiels et même dépendre de différentes versions ou de différentes branches dans chaque référentiel.

+0

un seul PR va-t-il fonctionner pour une validation à la fois SolutionA et bibliothèque partagée? – Steve

+0

Cela dépend de ce que vous appelez la requête de tirage. Si c'est un mail avec "S'il vous plaît tirer de", alors oui. Si vous parlez d'un autre type de relations publiques; comme GitHub, alors il pourrait ou non être supporté par le service. Attendez-vous pas. Vous devez d'abord valider vos modifications dans la bibliothèque partagée, puis chaque projet l'extraira (voir le cas échéant en tant que rebase) en temps voulu. Les requêtes d'extraction sont souvent destinées à rassembler des objets dans un seul référentiel, ce qui nécessiterait l'utilisation d'une seule validation pour plusieurs référentiels à la fois. C'est techniquement impossible avec git. Cependant, les sous-modules sont la voie à suivre. – MayeulC

+0

Eh bien, une autre solution pourrait être de créer votre propre système de RP, bien sûr, en fusionnant plusieurs patches à la fois. Ou même fusionner les mêmes correctifs dans les trois référentiels différents. Mais je ne pense pas que ce soit ce que vous cherchez. – MayeulC