2010-04-30 4 views
0

Je suis en train de migrer vers svn d'un système de contrôle de version pas si célèbre (permet de l'appeler nsfvc). svn trunk a été créé il y a quelque temps à partir du tronc de nsfvc. Il y a une branche active dans nsfvc que je dois importer dans la branche svn. Le diff entre le tronc et la branche de nsfvc est énorme (mises à jour, renames, ajouts, suppressions, déplacements).Importation/commit à la branche svn d'un autre codebase

Comment procéder? Je suppose que ce n'est pas aussi simple que ...

svn co http://mysvn/repo/branches/branch c:\workspace 
# replace files in c:\workspace 
svn add 
svn ci 
+0

À moins que vous utilisez un problème qui devrait fonctionner à droite ? –

+0

@John W Je ne l'ai pas encore essayé, même si j'ai fait quelques tests dans mon bac à sable. Je ne voulais pas manquer quoi que ce soit. Donc, vérifiez avec vous les gars. – publicRavi

+0

On dirait que vous êtes sur la bonne voie. Il est probablement trop tard pour suggérer, mais si c'est la première fois que vous utiliserez SVN, vous pouvez envisager de migrer vers un DVCS tel que mercurial ou git. Ils ont un meilleur support pour la fusion et l'embranchement, donc en utiliser un pourrait vous rendre la vie beaucoup plus facile à long terme ... –

Répondre

1

J'espère que je ne suis pas malentendu, mais mon conseil est:

  • créer la branche svn de la branche nsfvc de la même façon vous avez créé le tronc svn à partir du tronc nsfvc. (Je suppose que svn import?)

  • à ce stade, vous devriez avoir reflété l'état du dépôt nsfvc dans le dépôt svn

  • vous devriez maintenant être libre de svn fusion entre le tronc svn et la branche svn. svn merge est simplement le processus d'application des diffs. Vous n'avez pas besoin de configurer une connexion spéciale entre le tronc et la branche.

  • en supposant que vous utilisez svn 1.5.x ou 1.6.x, vous pouvez utiliser svn mergeinfo pour suivre les fusions successives entre le tronc et la branche

+0

Question: Lorsqu'une branche est créée en exécutant svn copy, svn ne duplique pas tous les fichiers. Il fait une "copie électronique". Si j'ai recours à l'importation dans la branche, cela n'arrivera pas. Je suis toujours penché vers mon plan (dans ma question). Qu'est-ce que tu penses? – publicRavi

+0

Vous avez raison. ("copie bon marché" est le terme de SVN) Si vous importez dans la branche, elle occupera autant d'espace de disque dur que l'importation initiale dans le tronc. Bien sûr, toutes les actions ultérieures seraient des copies bon marché. Est-ce vraiment un problème? Je ne vois pas que vous perdez vraiment quelque chose puisque c'est une seule chose que vous faites (c'est-à-dire installer la branche) et que l'espace disque dur n'est pas si rare ces jours-ci ... –

+0

va me détester pour ça :) J'ai suivi mon plan, et tout a l'air bien. Accepté pour diligence. – publicRavi

Questions connexes