Question

J'administre un rapport svn pour un projet dont la source n'a pas été importée avec un seul répertoire de niveau supérieur. En conséquence, il y a environ 15 "projets" distincts au lieu d'un. Comment puis-je les fusionner dans un seul dossier tout en conservant l'historique des modifications?

* Conseil: svn move ne fonctionne pas dans ce cas.

[modifier] whoops, dupe de Combinaison de plusieurs référentiels SVN dans un

Était-ce utile?

La solution

Si vous ne souhaitez pas conserver l'historique de l'un des référentiels, vous pouvez simplement créer un nouveau répertoire dans le référentiel d'un projet, puis importer l'autre.

Si vous souhaitez conserver l'historique des deux, vous pouvez utiliser 'svnadmin dump' pour vider un référentiel et 'svnadmin load' pour le charger dans l'autre. Les numéros de révision seront désactivés, mais vous aurez toujours l'historique.

Copié à partir d'ici: http://subversion.tigris.org/faq.html # fusion multiple

Autres conseils

Peut-être que je travaille trop avec le marteau de contrôle de version distribué et que tout ce que je vois à ce stade sont des clous distribués. Mais je dois encore une fois dire que c’est probablement un travail pour les DVCS.

Je voudrais essayer de déconner avec git-svn ou quelque chose comme ça. Importer chaque " projet " dans son propre référentiel git et les git tirent les uns des autres. Résolvez tous les conflits et, une fois que tout est terminé, réimportez l'historique dans Subversion.

Mais il est peut-être préférable que votre équipe utilise le contrôle distribué une fois que vous avez fini de fusionner toutes les mises en pension de toute façon ...

Vous pouvez créer un nouveau projet de niveau supérieur qui utilise svn: externals pour pointer vers tous les autres projets et les placer dans des sous-répertoires appropriés.

  • Les développeurs n'auront besoin que de vérifier votre nouveau projet de niveau supérieur (svn suivra automatiquement svn: externals et extraira les autres)
  • l'historique complet des versions sera conservé et les nouvelles modifications seront automatiquement enregistrées dans le sous-projet concerné
  • il vous faudra environ 5 minutes pour l'implémenter (créez le nouveau projet de niveau supérieur et exécutez svn propedit svn: externals top_dir ).
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top