Question

Je suis en train de fusionner ma branche de développement dans le tronc de ma pension. Étapes de mon travail:

  1. Passer au tronc
  2. vérifier qu'il est à jour, résoudre les conflits
  3. Aller à Equipe-> Fusionner
  4. Sélectionnez URL: branche de développement
  5. Démarrer Révision: Révision lorsque la branche a été créée
  6. Fin de révision: HEAD
  7. OK

Cela devrait faire la magie - il ouvre la vue syncronize ce qui est bien, me montre tous les conflits, mais le problème se produit:

Dans l'éditeur de comparaison, je vois deux fichiers: Fichier local | Fichier à distance (306)

Ceci est vraiment étrange, le numéro de révision du fichier distant est en fait celui du fichier dans la copie de travail (tronc) et est donc le contenu. Le fichier local a le contenu du fichier dans la branche.

Maintenant, la flèche indique à juste titre que je suis la fusion de gauche à droite (branche au tronc). Cela se produit également lorsque je clique sur ok.

Mais je ne peux pas bouger les changements de droite à gauche !!! Ce n'est pas ce que je veux - je ne veux pas écraser les changements dans les branches avec l'ancien contenu du tronc. Je veux déplacer le contenu de gauche (branche) à droite (tronc). Mais je ne peux même pas écrire dans le bon fichier.

Je ne sais pas pourquoi il écrit il y a fichier distant ?? Il est montrant clairement le fichier de copie de travail dans la fenêtre de fichier distant, et le fichier de la branche (pour la fusion) est indiqué dans le fichier local.

Certains bug dans Subversive?

Thx, Martin

Était-ce utile?

La solution

Fusionne ne sont jamais été facile avec subversive (comme mentionné dans cette ancienne SO ), donc peut-être faire la fusion externe (ou avec subclipse) serait plus facile ici.

Si votre client et le dépôt sont tous les deux au moins dans SVN1.5, de nouvelles capacités de fusion sont Subversive mieux, mais toujours dangereux, comme illustré par ce fil .

  

Depuis Subversive a été modifié pour SVN 1.5 l'ensemble des comportements de fusion a changé. Une chose que j'ai vraiment aimé est la possibilité de choisir quels sont les changements que je voulais, l'appliquer à ma copie de travail puis engager le tronc.
  Subversive maintenant ne fait plus cela, mais oblige tous les changements sur votre copie de travail puis vous choisissez ce qu'il faut mettre dans le coffre.

     

Ceci est non seulement un comportement indésirable, mais il est aussi dangereux (si vous ignorez la possibilité d'un revert de toute façon). Je préfère commettre des choses que je sais travaille. Nous avons une branche de sortie qui obtient des changements qui peuvent ou peuvent ne pas avoir besoin d'être migré vers le tronc.

Autres conseils

Eh bien cela semblait mystérieux au début, maintenant je vais donner un coup de poignard décent à mettre à jour cette réponse pour tout le monde. Ce qui concerne la fusion en utilisant le client Subversive SVN pour Eclipse:

Vous faites votre fusion correctement, en commençant dans le coffre puis pointant vers votre fichier sous votre succursale locale. Vos fichiers ouverts dans la fenêtre « Texte Comparer » sous l'onglet Synchronisation de l'équipe. Si vous ne voyez pas de conflits sur la colonne de navigation à gauche, votre fusion vient de se produire. Oui, cela est source de confusion et de non-intuitive.

Qu'est-ce que le texte Comparer fenêtre vous offre est la possibilité d'annuler votre changement (ou tout autre qui peut avoir mis dans votre fichier sans le savoir fusionné) avant de le commettre. Rappelez-vous que vous tirez dans le fichier de la Direction générale, l'idée est que le fichier de la succursale est dans le coffre, mais dans une sorte de limbes virtuels jusqu'à ce que finalement commis, et en changeant ou défaisant des modifications non souhaitées références ici le fichier Branch (évidemment). C'est pourquoi vous avez seulement un tuyau à sens unique (tronc vers la branche) pour remplacer ceux changé fusionnés en Trunk via votre copie de travail. Votre fusion a eu lieu, mais ce n'est pas encore tout à fait officielle.

Si tout semble comme il devrait, cliquez droit sur le fichier dans la fenêtre du navigateur (volet gauche dans mon Eclipse Helios installer) et choisissez Accepter dans le menu déroulant. Cliquez ensuite revenir sur votre onglet de visualisation code principal (dans mon installation, il est PHP, mais il pourrait être tout ce que vous utilisez), puis engager le fichier tronc.

Si vous voulez tester cela, une vue du fichier « comme est » dans le coffre avant de vous engager et vous devriez voir vos changements réfléchis si vous avez fait votre fusion correctement. Cela semble être la façon dont il travaille pour moi sur un Mac OS X Snow Leopard Macbook Pro. Je ne sais pas si elle est la même chose pour les gens Windows ou Linux. Je suppose que c'est essentiellement le même processus / similaire.

il est facile

vérifier le coffre avec départ comme ... donner un nom différent du projet.

Maintenant, vous avez à la fois localement comme copie de travail, le tronc vous voulez engager et la branche que vous travaillez et dont les changements que vous avez comitted au référentiel. Maintenant rightclick le projet de tronc (et je veux dire le projet, pas un seul fichier) - fusion - sélectionnez le projet de dérivation (à nouveau, PROJET) accepter toutes les modifications à la copie locale commettez ce que vous devez tronc utilisé pour tout va bien, supprimer à nouveau tronc et continuer à travailler sur la branche

en particulier avec des branches, cela semble très facile et a travaillé comme un charme pour moi

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