2010-02-04 28 views
3

Je travaille sur une succursale à long terme. Je veux mettre à jour le coffre avec les trucs dans ma branche chaque semaine.Mise à jour régulière du coffre de ma succursale

J'avais mis à jour ma branche du tronc en fusionnant une gamme de révisions. J'ai alors utilisé réintégrer une branche pour fusionner ma branche dans le coffre.

Puis je suis retourné à ma branche et a fait fusionner une série de révisions et j'ai eu une tonne de conflits d'arbres ....

Quelle est la bonne façon de le faire? (Garder le tronc à jour depuis une autre branche et garder cette branche à jour avec le tronc)

+0

branche Réintégrer est destinée à la réintégration finale d'une branche. La branche devrait être tuée après. Si vous prévoyez de développer sur la branche, utilisez simplement "fusionner une gamme de révisions". – mbillard

Répondre

3

Vous ne devez garder votre branche qu'à jour avec le tronc. Ensuite, lorsque vous êtes prêt à repasser vos mods de branche dans le tronc, cela ne prendra que les changements de votre branche. N'essayez pas de les synchroniser les uns avec les autres au fur et à mesure, vous vous ferez simplement nouer dans les nœuds

1

Si vous commencez à pirater une fonctionnalité particulière que personne n'a et que vous ne partagez pas avec coffre ou tout autre arbre cela pourrait être une bonne procédure:

  1. créer une branche
  2. hack, hack, pirater et cOMMIT à votre succursale
  3. lorsque vous êtes prêt à fusionner avec le tronc, fusionner les modifications du tronc vers votre branche
  4. résoudre les conflits, commettre à la branche
  5. proprement
  6. se confondent avec le tronc

Si vous ne fusionnez pas les changements à tout moment de développement de la branche au tronc vous pouvez fusionner le tronc le plus souvent pour résoudre pacifiquement les problèmes de conflit ou de conception. Subversion se souvient de ce que vous avez fusionné précédemment.

1

Cela dépend de la façon dont votre organisation utilise les branches. Voici ce que le nôtre fait:

Pour branches de développement - comment je crois que vous utilisez des branches dans votre question - Je suis d'accord avec la réponse de Pete ici (et +1 à lui). N'essayez pas de fusionner les deux manières tout au long de votre projet. Tout au long de votre projet, gardez la branche à jour avec les fusions du tronc à la branche. Une fois votre projet terminé, fusionnez votre branche vers le tronc (après avoir testé !!!), et faites-en la branche.

Pour branches de libération, nous utilisons se confond deux façons:

  • Tronc -> Branche: intégration initiale - créer la branche de sortie. Et généralement, c'est la seule fois où nous fusionnons dans cette direction avec des branches de libération.
  • Branche -> tronc: Si des bogues sont détectés en production, nous les corrigeons sur la branche, puis nous revenons au tronc. Cela se produit jusqu'à ce que la branche de publication suivante soit coupée.

Ce qui est important, c'est que votre organisation ait une politique et adhère à celle-ci. Ne faites pas les choses ad hoc.

HTH,

-aj