2008-10-29 6 views
1

Un chemin dans Perforce contient les fichiers a.txt et b.txt. Je ferai référence au chemin principal en tant que ligne principale.Perforce dérivation à partir d'une branche Perforce

J'ai créé une branche (appelée initialbranch) qui contient seulement a.txt. Je fais beaucoup de changements sur a.txt, et j'en suis très content. Cependant, il n'est pas encore prêt à être renvoyé à la ligne principale. Je peux facilement intégrer toutes les modifications apportées à a.txt qui se produisent dans Mainline.

Un autre projet arrive, qui nécessite les changements de la branche initiale. Maintenant, disons que je veux apporter des modifications à b.txt, et que je veux être capable d'intégrer les changements qui se produisent à la fois dans la branche initiale et dans la ligne principale. À l'heure actuelle, je branche de initialbranch (appeler cette nouvelle branche branche). Auparavant, j'ai ajouté b.txt à initialbranch, puis j'ai intégré mes changements à secondbranch. Y a-t-il une meilleure façon de faire cela? Désolé si cette question semble un peu alambiquée, je l'ai exprimé du mieux que je peux!

Merci,

Dom

Répondre

3

Je ne suis pas convaincu que je comprends votre question, mais je vais essayer d'aider.

Si vous dites que vous ne voulez pas vraiment b.txt dans initialbranch, vous pouvez définir une spécification de branche comme ceci:

initialbranch/a.txt secondbranch/a.txt 
mainline/b.txt secondbranch/b.txt 

De cette façon, lorsque vous intégrez l'aide de la branche « secondbranch » spec, vos changements dans secondbranch seront poussés à initialbranch ou mainline. Si vous ne voulez pas pousser les changements directement de secondbranch à mainline, faites ce que vous faites déjà: intégrez b.txt de mainline à initialbranch, puis de initialbranch à secondbranch. Travaillez dessus dans secondbranch, puis intégrez les changements successivement à l'initialbranch et à la mainline.

+0

Merci erickson - c'est vraiment utile! –

2

Peut-être qu'un diagramme pourrait vous aider?

a,b------------------------------------------------------> mainline 
     \ branched       /integrated back in 
     \-a----------------------------------/------------> initialbranch 
        copied from mainline/
        -b-------------------/--------------> secondbranch 

Branching dans Perforce est bon marché, donc je branche normalement une structure de répertoire entier plutôt que des fichiers individuels.

Il n'est pas trop tard pour le faire. Comme le dit Erickson, plutôt que de copier/ajouter le fichier à secondbranch, vous pouvez simplement passer de mainline à vos branches dev.

a,b--------------------------------------------------> mainline 
     \ branched \       /integrated back in 
     \-a-----------\---------------------------/----> initialbranch 
         \ branched from mainline/
         -b-----------------------------> secondbranch