Question

I ai un tronc (A) et deux branches (B et C). Lorsque je fusionne A avec C son OK, après que je fusionner A avec B, le précédent C et son overwriten ma malle ne sont pas les changements C.

Ce que je veux est A + B + C dans le tronc après les fusions.

Edité pour plus d'explications:

  1. dans le coffre, j'ai 3 fichiers: "FILE 1", "2 FICHIER" et "FICHIER 3";
  2. Je crée une branche du tronc "Direction 1";
  3. je passe à "Direction 1", je corrige des bugs dans le fichier "FILE 1" et commets;
  4. Dans le même temps, une autre personne de créer une branche du tronc « Branche 2 »;
  5. Cette personne fixer un autre des bugs dans les fichiers "FICHIER 2" et "3" FILE et engage;
  6. La "Direction 2" est approuvé pour publier, puis je fusionner "Branche 2" à "tronc" (son ok);
  7. Dans le jour suivant « Direction 1 » est approuvé, je fusionner « Direction 1 » à « tronc », et le « tronc » perdre les changements de « Branch 2 ».
Était-ce utile?

La solution

  1. Faites une copie de travail de trunk
  2. svn merge -r W:X svn://branchA workingCopy
  3. svn merge -r Y:Z svn://branchB workingCopy

Je pense que cela vous donnera ce que vous voulez, ce qui est le tronc ainsi que toutes les modifications apportées par une branche. Vous devrez faire face à des conflits, cependant.

Autres conseils

En supposant que vous utilisez Subversion 1.5 ou plus, je pense que vous voulez « réintégrer » vos branches dans le tronc, voir http://blog.red-bean.com/sussman/?p=92

Votre terminologie est pas claire. Lorsque vous vous dites « fusionner A avec B » que cela signifie que vous fusionnez A dans B ou B en A? Pouvez-vous expliquer exactement ce que vous avez fait pour créer les branches, et comment vous tenté de faire la fusion? En outre, pour la fusion, il est important que la version SVN que vous utilisez.

Je vous suggère de lire attentivement le chapitre sur la ramification et la fusion dans le livre SVN.

En fait, lorsque vous avez une branche de fonction (qui est ce que vous semblez avoir), vous fusionner à plusieurs reprises la branche en elle. SVN enregistre alors que les révisions vous avez fusionné et ne les fusionner à nouveau. Lorsque vous avez terminé votre branche, vous réintégrez dans le tronc et le rejeter.

Tout cela se fait sur votre disque, une branche à la fois, la résolution des conflits potentiels après chaque branche, et vérifier à chaque étape. (Si, pour une raison quelconque, vous devez appliquer les modifications du tronc dans un checkin, vous pouvez fusionner vos branches dans une branche fraîche hors du tronc, puis fusionner cette branche dans le coffre lorsque vous avez terminé.)

Vous voulez appliquer les fusions à votre espace de travail, et non pas le référentiel. Vous pouvez également utiliser cvs qui traite des branches d'une manière bien supérieure à celle svn fait.

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