Algo que causa muita preocupação e muito planejamento em empresas que pensam em migrar do VSS para o Team Foundation server é justamente a migração do código-fonte.
Há os que pensam que vão perder o histórico, outros que vão ter que recolocar os fontes no sourcecontrol manualmente, e por aí vai. O legal é destacar que o TFS conta com uma ferramenta chamada VSSConverter, que colabora com essa migração.
Esta ferramenta transporta entre as plataformas os arquivos, pastas, histórico de versões e informações de usuários. É claro que algumas informações não são compatíveis entre o VSS e o TFS e não serão transportadas. Abaixo, veremos um overview de uma preparação de migração e falaremos de mais detalhes.
Para que possamos continuar com o assunto, é importante ter instalado as ferramentas abaixo na máquina em que você pretende rodar a ferramenta de conversão:
- Team Explorer
- Permissão de administrador na máquina
- SQL Server Express
- Visual Source Safe 2005 ou superior
- A base do VSS que você quer analisar. O formato da base deve ser 6.0 ou superior. Você deve rodar o conversor na mesma máquina em que se encontra sua base.
- Você precisa também da senha de administrador da base do VSS.
Preparando a base do VSS
Antes de começarmos…
- Peça a todos os usuários para fazer check-ins em seus arquivos
- Crie um backup da base que vai migrar
- Use a ferramenta de análise do VSS para localizar e resolver problemas de integridade de dados na sua base.
Analisando os projetos…
VSSConverter.exe é um utilitário de linhas de comando que precisa dos seguintes parâmetros:
- Um caminho para a pasta que contém o arquivo srcsafe.ini da base que está migrando
- Um arquivo XML que contém configurações
- VSSConverter está em [raiz]:\Arquivos de Programas\Microsoft Visual Studio 9.0\Common7\IDE\ e pode ser chamada através do utilitário de linha de comando do Visual Studio.
Vamos imaginar que sua base do VSS esteja em C:\VSSDB.
Depois que você decidiu que projetos da base vai analisar, é preciso criar um arquivo que contenha as configurações. Este arquivo é a lista de projetos que você quer migrar.
Para criar o arquivo de configurações…
- Vamos criar um diretório para trabalhar com nosso arquivos. Eu criei o C:\VSS2TFS
- Dentro dele, crie o arquivo settings.xml e abra-o com o Notepad.
- Copie o XML abaixo e cole dentro do arquivo, onde $\PastaA e $\PastaB são os projetos que quer migrar.
<?xml version=”1.0″ encoding=”utf-8″?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name=”VSS”>
<VSSDatabase name=”C:\VSSDB”></VSSDatabase>
</Source>
<ProjectMap>
<Project Source=”$\PastaA”></Project>
<Project Source=”$\PastaB”></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<Output file=”Analysis.xml”></Output>
</Settings>
</SourceControlConverter>
* Para migrar o banco inteiro, use: <Project Source=”$/”></Project>.
- Em <VSSDatabase name, coloque o caminho do diretório onde está sua base do VSS a ser migrada.
- Salve e feche.
O próximo passo será rodar o conversor usando o caminho deste arquivo como parâmetro. O usuário logado no windows precisa ser administrador no SQL Express também. Por padrão, o usuário que instalou o SQL ou o Visual Studio que ele acompanhou já tem essa permissão.
Para analisar o projeto com o conversor…
- No prompt de comando do Visual Studio, digite: VSSConverter Analyze settings.xml
- Quando for solicitado, digite a senha de administrador da base do VSS.
O conversor irá mostrar o status da análise. Quando terminar, irá gerar um relatório (VSSAnalysisReport.xml) e um arquivo de mapeamento de usuários (usermap.xml) e vai salvá-los no diretório corrente.
O próximo passo, depois de ver que a migração terá sucesso fazendo a análise, será fazer efetivamente a migração, o que veremos no próximo post.
Um abraço