jeudi 12 juin 2008 10:21
par
Danuz
Migrer son projet sous VSS vers SVN
Pour des raisons très pratiques en interne, nous nous sommes retrouvés à vouloir migrer l'ensemble de nos projets sous VSS vers SVN. Le processus de migration serait plus simple si nous ne voulions pas garder l'historique ainsi que les labels... Soit, en ayant un peu recherché sur google, je suis tombé sur cet outil :
VSSMigrate. Il n'a pas été facile de l'utiliser, alors, je partage avec vous comment y parvenir

.
Quelques prérequis :
VSSMigrate a besoin d'un fichier .ini pour pouvoir parvenir à réaliser cette migration. Pour des raisons toujours pratiques, je l'ai appellé mon fichier de configuration
VSSMigrate.ini.
Voici le contenu de ce fichier VSSMigrate.ini
[Settings]
VSSWIN32=C:\Progra~1\Mi53b4~1\
# VSS\Win32 directory which contains ss.exe
# J'Utilise le nom dos 8.3 car le programme n'aime pas les espaces .... (dir /x vous affiche le nom court!)
VSSDIR=\\VSSServer\VSSFolder
#VSS repository directory (contains srcsafe.ini)
#use environment variable SSDIR to set the current repository.
#PENSEZ à enregistrer la variable SSDIR dans les variables d'environnement avec la commande juste ci-dessous.
#set SSDIR=\\VSSServer\VSSFolder\
VSSPROJ=$/YourProject/
#VSS project to start at (ie $/Product)
VSSUSER=myUserName
#User to use for VSS commands, use blank for none
VSSPASSWORD=myPassword
#password to use for VSS commands, blank is OK
SVNWIN32=C:\Progra~1\Subversion\bin
# SVN\bin directory which contains svn.exe
SVNUSER="first last"
#User to use for SVN commands, use blank for none, use quotes for two names
SVNPASSWORD=
#password to use for SVN commands, blank is OK
SVNURL=file:///C:/Repository/
#URL to use for the root of the check in
SVNPROJ=$/ProjectNameUnderSVN
#VSS project to start at (ie $/Product)
WORKDIR=c:\test
#Directory under which files and directories will be created as work progresses
DEBUG=1 #turn on debug output, blank is OK
AUTORETRY=0 #if a command fails to run, it will be run automatically 1 time before failing
Pour lancer
VSSMigrate, il faut utiliser la ligne de commande VSSMigrate.exe fullPathToConfigFile
Je dis bien le chemin complet, sinon, ça ne passera pas.
B
on, après, il y a eu un "petit" souci que je n'ai pas voulu modifier dans les sources (qui sont aussi disponibles mais en C++ ;p). Pour chaque fichier récupéré depuis VSS, il faudra qu'il soit committé de nouveau vers SVN.
ça fonctionne bien, excepté qu'à certains moments, le programme prompte en nous demandant d'inscrire une nouvelle heure ... Après avoir analysé un peu tout ça, j'ai remarqué que pour chaque fichier et version qu'il committait, il chantait la date système (en fonction de la date de version). Il faudra donc penser aussi à la remettre comme elle était auparavant si elle s'est déréglée...Si tout s'est bien passé, l'ensemble de vos sources sur VSS seront migrées sur votre SVN local. Je l'ai fait pour des raisons (encore) pratiques et à des buts de tests, car je ne savais pas si il y avait des chances que ça plante en cours...
Restera donc plus qu'à migrer de votre SVN local au Server SVN (tâche plus facile bien entendu

).
Bonne Migration et à bientôt !
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :