Question

J'essaie de réorganiser un référentiel Subversion 1.6 comportant des branches. Il semble que si vous déplacez un fichier dans le coffre et que des modifications ont été apportées à ce fichier dans une branche, ces modifications, une fois fusionnées dans la branche, n'y sont plus.

Je vais essayer d'illustrer ci-dessous:

1. Repo before move
    trunk/a.txt
    trunk/b.txt
    branches/feature/a.txt
    branches/feature/b.txt

2. File branches/feature/b.txt is changed.

3. Repo reorganized
    trunk/a.txt
    trunk/new-location/b.txt
    branches/feature/a.txt
    branches/feature/b.txt

4. Changes from trunk merged to feature
    trunk/a.txt
    trunk/new-location/b.txt
    branches/feature/a.txt
    branches/feature/new-location/b.txt

Le dossier branches / fonctionnalité est une copie de jonction .

À la fin de l'étape 4, toutes les modifications apportées au fichier b.txt à partir de la branche de fonctionnalité ne sont plus là.

Je pensais que cela était corrigé dans svn 1.5?

Si ce n’est pas une option, j’ai encore besoin de réorganiser l’ensemble de mon répertoire. Faire le déplacement lorsque toutes les branches ont été fusionnées dans le coffre n'est pas une option. J'ai toujours au moins une branche et un coffre à la fois.

Était-ce utile?

La solution

La fusion des fichiers déplacés est un problème connu . Cependant, Subversion vous avertit avec ce message s'il ne trouve pas la cible de fusion :

  

Cible manquante ignorée: "baz.c"

Si vous voyez ce message, vous devrez peut-être agir manuellement. Si le fichier a été déplacé et que le nouvel emplacement doit recevoir les modifications, vous pouvez envisager de fusionner les sous-arborescences entre les entités renommées.

Je ne connais aucun système de contrôle de version qui effectue de telles fusions automatiquement. modifier : se présente comme dans mercurial , tels que fusionne ne suivez les copies .

Autres conseils

Fournissez des détails sur les étapes 3 et 4. Les fusions Subversion ne sont pas identiques aux copies.

Vous devez vous assurer que vous utilisez la méthode de renommage SVN à l'étape 3 pour vous assurer que l'emplacement du fichier reste associé aux modifications futures.

(Je retire celui-ci de ... eh bien, je ne suis pas sûr de ce qui suit) Il existe un problème d'ascendance lors du déplacement / changement de nom de fichiers. Assurez-vous que lorsque vous fusionnez, l'option Ignorer les ancêtres n'est pas sélectionnée.

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