Atualizar a partir do Visual SourceSafe usando a ferramenta de prompt de comando VSSUpgrade
Na maioria dos casos, você deve usar Assistente de atualização do VSS em vez da ferramenta de linha de comando de VssUpgrade para atualizar os dados do Visual SourceSafe.No entanto, há algumas situações quando você talvez queira usar a ferramenta de linha de comando de VssUpgrade para atualizar a um servidor (TFS) do team foundation em- de locais.
Para atualizar seus dados do Visual SourceSafe usando VSSUpgrade
Entenda como a ferramenta converte os dados TFS e Visual SourceSafe têm diferenças significativas funcionais.Como resultado, as ferramentas de atualização Visual SourceSafe alteram certos tipos de dados durante a atualização.
Prepare para atualizar antes de iniciar o processo de atualização, é importante que você planeja frente e preparar seus dados.
Importante Você deve executar o Visual SourceSafe ANALISA o utilitário no seu armazenamento do Visual SourceSafe antes de continuar.Consulte Copie e prepare seu banco de dados do Visual SourceSafe.
Aprender sobre características exclusivas de VssUpgrade.Se você não precisa de alguns de eles, então você deve usar Assistente de atualização do VSS em vez disso.
Analisar seus dados antes de atualizar os dados do Visual SourceSafe a Controle de versão do Team Foundation, você deve usar o comando analisar determinar se algum problema em seus dados afetará o resultado de atualização.Esse processo também gera um arquivo de mapeamento de usuário que é necessário atualizar seus dados.
Atualizar seus dados para atualizar os dados, você deve especificar como os nomes de usuário são atualizados, criar configurações migrar arquivos em seguida, executa o comando migrar.
Exibir e verificar os resultados, e resolver problemas como necessário
Recursos de VssUpgrade
Use VssUpgrade se você deseja atualizar e mover os dados a um projeto de equipe de em- e locais:
Executar a atualização como parte de uma abordagem automatizada, como um script.
Migrar vários projetos do Visual SourceSafe em um único projeto de equipe, usando uma estrutura de pasta que é especificado por você.
Especificar como os dados do usuário são convertidos, por exemplo, para Kim no Visual SourceSafe a EUROPE\KimT em TFS.
Ignorar rótulos nos dados do Visual SourceSafe.
Retomando após o processo que foi interrompido para atualizar uma grande quantidade de dados para exemplo, devido a um erro de rede.
Se você não precisar de qualquer um desses recursos, ou se você precisar de atualização e move os dados em um projeto de equipe em Serviço do team foundation, então você deve usar Assistente de atualização do VSS em vez de VssUpgrade.
Analisar seus dados
Antes de atualizar os dados do Visual SourceSafe para o controle de versão de TFS, primeiro você deve usar o comando analisar determinar se algum problema em seus dados afetará o resultado de atualização.Este comando também gera um arquivo de mapeamento de usuário que o comando migrar usa para atualizar seus dados.
Crie um arquivo de configurações de perfil
Antes de executar o comando analisar, você deve criar um arquivo de configurações de perfil.Nesse arquivo, você especifica o caminho do banco de dados do Visual SourceSafe que você irá atualizar e pastas que você deseja atualizar.
O XML a seguir é um exemplo de um arquivo de configurações de perfil.
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="c:\ourvss"></VSSDatabase>
<UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
</Source>
<ProjectMap>
<Project Source="$/Core"></Project>
<Project Source="$/ProjectA"></Project>
<Project Source="$/ProjectB"></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<Output file="c:\ourvss\migrate\logs\ContosoVSSAnalyze.xml"></Output>
</Settings>
</SourceControlConverter>
Você pode copiar o exemplo anterior, cole em seus próprios analisa configurações arquiva-o, e altera- em.As informações a seguir ajudará a adaptar o exemplo para atender às suas necessidades.
atributo <?xml encoding>
O atributo de <?xml encoding> deve coincidir com a codificação que é usada no seu analisa o arquivo de configurações.Por exemplo, se o arquivo é salvo como Unicode, a marca de <?xml encoding> é o seguinte:
<?xml version="1.0" encoding="unicode">
atributo de<VSSDatabase name>
No atributo de <VSSDatabase name> , especifique o caminho da pasta que contém o arquivo de srcsafe.ini para a cópia do banco de dados do Visual SourceSafe que você está atualizando. Por exemplo:
<Source name="VSS">
...
<VSSDatabase name="c:\ourvss"></VSSDatabase>
...
</Source>
O caminho não deve conter a cadeia de caracteres srcsafe.ini.Por exemplo, o seguinte atributo de <VSSDatabase name> está incorreto e fará com que o comando de VssUpgrade falhar:
<Source name="VSS">
...
<VSSDatabase name="c:\ourvss\srcsafe.ini"></VSSDatabase>
...
</Source>
atributo de<UserMap name>
O comando analisar coleção e compila dados em seus usuários e armazenamentos do Visual SourceSafe ela em um arquivo XML.Opcionalmente, você pode especificar o caminho e o nome do arquivo onde você deseja esses dados armazenados no atributo de <UserMap name> .Se você não especificar o atributo, o comando analisar cria um arquivo que é chamado UserMap.xml e colocá-lo no diretório atual.
a seção de<ProjectMap>
Na seção de <ProjectMap> , especifique o caminho de cada projeto do Visual SourceSafe que você deseja atualizar no atributo de Source de um item de <Project> .
Para atualizar todos os dados no banco de dados do Visual SourceSafe, faça a seção de <ProjectMap> coincidir com o seguinte exemplo:
<ProjectMap>
<Project Source="$/"></Project>
</ProjectMap>
Em vez de atualizar o banco de dados completo de Visual SourceSafe ao mesmo tempo, você pode atualizar projetos selecionados em momentos diferentes.
Dica |
---|
Use esta opção evitar bloqueio sua equipe durante a atualização se você tem muitos dos dados para atualizar. |
Caminhos atributos de origem não devem sobrepostos.Por exemplo, a seção a seguir de <ProjectMap> não é válido:
<ProjectMap>
<Project Source="$/ProjectA"></Project>
<Project Source="$/ProjectA/Controller"></Project>
</ProjectMap>
atributo de<Output file>
Na seção de <Settings> , no atributo de <Output file> , você pode especificar o caminho e o nome do arquivo onde você deseja que o relatório de análise a ser gravado.Se você não desejar especificar esta opção, você pode omitir a marca de <Output> .Nesse caso, o conversor grava o relatório em um arquivo denominado VSSAnalysisReport.xml e colocá-lo no diretório atual.
elemento de<SQL>
Você deve especificar um banco de dados para que VssUpgrade usar para armazenar dados temporários adicionando um elemento de <SQL> à seção de <Source> do analisa o arquivo de configurações.Esse elemento usa a seguinte sintaxe: <SQL Server="SQL_Server_name"></SQL>.
Por exemplo, se você estiver executando VssUpgrade em um computador que é chamado FABRIKAM-2, para usar uma instância local do SQL Server Express edition no mesmo computador:
<Source name="VSS">
...
<SQL Server="fabrikam-2\sqlexpress"></SQL>
...
</Source>
Para direcionar o conversor para usar SQL Server, por exemplo um servidor que é chamado FabrikamSQLServer
<Source name="VSS">
...
<SQL Server="fabrikamsqlserver"></SQL>
...
</Source>
Executar o comando analisar
Windows Iniciarexecução, Prompt de comando como o administrador.
Na janela de Administrator: Prompt de comando , digite:
VssUpgrade Analyzesettings.xml
Substitua settings.xml com o caminho e o nome do arquivo de configurações de perfil que você criou.
Quando solicitado, digite a senha de administrador para seu banco de dados do Visual SourceSafe.Se seu banco de dados não tem nenhuma senha, pressione ENTER.
VssUpgrade exibe status no traço conforme o comando analisar continua.Quando o processo for concluído, o sistema resume os resultados.Por exemplo:
Analyze complete.
Analyzed 859 files and 941 folders.
Warnings 0 and Errors 0
Pre-migration report file: C:\VSS\migrate\VSSAnalysisReport.xml
Se houver qualquer erro ou aviso, você pode localizar detalhes sobre eles em ConverterErrors.txt e em VSSUpgrade.log.
O comando analisar gera:
Um relatório que você pode utilizar para obter detalhes sobre problemas e as alterações possíveis que o comando migrar pode causar.
Um arquivo de mapeamento de usuário (Usermap.xml), que você pode usar para especificar como os dados do usuário serão convertidos durante o processo de atualização.
Esses arquivos são explicados com mais detalhes em.
Problemas de revisão e analisar localizados analisar comando
O relatório de análise fornece informações sobre problemas no seu banco de dados do Visual SourceSafe que pode causar problemas durante o processo de atualização.Tente resolver o tanto como esses problemas como possível minimizar problemas com o processo de atualização, conforme descrito na próxima seção.
Alguns arquivos são fazer check-out
Os arquivos de listas de relatório que são check-out feito no momento.O processo de atualização não preserva informações de check-out.Tente garantir que quantos arquivos como estão possível fazer check-in antes de atualizar.
Alguns itens têm problemas de integridade de dados
Itens de listas de relatório cuja integridade de dados for comprometida.Visual SourceSafe ANALISA o utilitário pode ser capaz resolver esses tipos de problemas.Itens que não podem ser reparados não será atualizado.Para obter mais informações, consulte as seguintes páginas no site da Microsoft: O utilitário ANALISAR e Como detectar e corrigir erros de danos de banco de dados no Visual SourceSafe.
Algumas pastas em projetos mapeados contêm o histórico que não é incluído na seção de <ProjectMap>
Se uma pasta é movida de um projeto para outro em um banco de dados de Visual SourceSafe , o histórico dessa pasta está contido em projetos originais e atuais.Para atualizar uma pasta com o todo o histórico, você deve atualizar projects originais e atuais.
Por exemplo, você estiver atualizando o projeto \ Project2 de Visual SourceSafe .Este projeto contém a pasta $/Project2/FeatureA, que foi movido de Project1 em algum ponto do histórico.
Se a seção de <ProjectMap> contém… |
Por exemplo… |
Then… |
---|---|---|
Ambos os projetos. |
|
A pasta é atualizada com o histórico completo. |
O projeto que originalmente continha a pasta mas não o projeto que contém a atualmente. |
|
A pasta não é atualizada. |
O projeto que contém atualmente a pasta mas não o projeto que um continha originalmente. |
|
A pasta é atualizada com o histórico que parte de quando ele foi movido para o projeto atual.O histórico que ocorreu antes da pasta esteve movida para o projeto atual não foi atualizado. |
Para obter mais informações sobre a seção de <ProjectMap> arquivo de configurações, consulte <ProjectMap> Seção anterior contida neste tópico.
Alguns nomes de rótulo não são suportados pelo controle de versão do team foundation
Os nomes de rótulo de listas de relatório que se alterarão quando eles são atualizados porque eles contêm caracteres que o controle de versão de TFS não suporta.Consulte Restrições de nomes na Team Foundation.
Atualizar seus dados
Depois de executar o comando analisar, você está quase pronto para atualizar seus dados.Antes de executar o comando migrar, você deve criar um arquivo de configurações.Opcionalmente, você pode especificar como os nomes de usuário são atualizados.
Especificar como os nomes de usuário são atualizados
Você pode controlar como as informações do usuário é atualizada do Visual Source Safe ao controle de versão de TFS.Especificamente, você pode especificar que o nome de usuário comando migrar deve associar com cada conjunto de alterações no histórico de cada item em controle de versão de TFS.Você faz isso editando o arquivo de mapeamento de usuário que foi criado quando você executar o comando analisar, conforme explicado anteriormente neste tópico.
O arquivo de mapeamento de usuário é opcional.Se você omitir o atributo de <UserMap name> do arquivo configurações para analisar, cada conjunto é interna a seguinte maneira:
O campo de usuário é definido como o nome da conta em VssUpgrade que está executando.
O nome do usuário que executar a ação no banco de dados do Visual SourceSafe é armazenado em um campo de comentário.
Exemplo de um arquivo de mapeamento de usuário
Quando você executa o comando analisar, compila dados em seus usuários e armazenamentos do Visual SourceSafe ela em um arquivo XML.Este arquivo lista cada usuário do Visual SourceSafe que nunca executar uma operação de controle de versão no Visual SourceSafe se projetos que você está atualizando.
O seguinte exemplo mostra um arquivo de mapeamento de usuário que é criado pelo comando analisar.
<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
<UserMap From="Admin" To=""></UserMap>
<UserMap From="Guest" To=""></UserMap>
<UserMap From="Kim" To=""></UserMap>
<UserMap From="Satomi" To=""></UserMap>
<UserMap From="Mark" To=""></UserMap>
</UserMappings>
Você pode especificar o atributo de To de quaisquer, alguns ou todos os itens de UserMap no mapeamento de usuário da web.Por exemplo, você pode alterar o exemplo anterior da seguinte maneira:
<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
<UserMap From="Admin" To="NORTHAMERICA\KenM"></UserMap>
<UserMap From="Guest" To="Test1"></UserMap>
<UserMap From="Kim" To="EUROPE\KimT"></UserMap>
<UserMap From="Satomi" To="ASIA\SatomiH"></UserMap>
<UserMap From="Mark" To=""></UserMap>
</UserMappings>
Observe que no exemplo anterior, Guest é mapeado para Test1, domínio e nenhum for especificado.Nesses casos, VssUpgrade presume que a conta pertence ao domínio padrão.
Se você não especificar um atributo de <UserMap To> , cada conjunto é interna a seguinte maneira:
O campo de usuário é definido como o nome da conta em que VssUpgrade executar.
O nome do usuário que executar a ação no banco de dados de Visual SourceSafe é armazenado em um campo de comentário.
Se você especificar um atributo de <UserMap To> e o valor é um usuário válido no Team Foundation Server, o campo de usuário é definido para o nome da conta.Se o valor não for um usuário válido no Team Foundation Server, VssUpgrade exibirá um erro e terminará o processo de atualização.
Crie um arquivo de configurações migrar
Você usa as configurações migrar arquivos para especificar quais dados do Visual SourceSafe você deseja atualizar e controlar vários aspectos de como você deseja atualizar o.A maneira mais fácil de criar este arquivo é copiar o arquivo que você criou em Crie um arquivo de configurações de análise anteriormente neste tópico.Você adicionar mais dados para o arquivo para torná-lo útil pelo comando migrar.
O seguinte exemplo mostra um arquivo de configurações migrar.
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="c:\ourvss"></VSSDatabase>
<UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
</Source>
<ProjectMap>
<Project Source="$/Core" Destination="$/CoreTeamProject"></Project>
<Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
<Project Source="$/ProjectB" Destination="$/ClientTeamProject/ProjectB"></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<TeamFoundationServer name="My_Server" port="8080" protocol="http" collection="tfs/DefaultCollection"></TeamFoundationServer>
<Output file="c:\ourvss\migrate\logs\ContosoVSSMigrate.xml"></Output>
</Settings>
</SourceControlConverter>
As informações a seguir ajudará a alterar as configurações migrar para fazer o check-in para especificar como migrar o comando irá atualizar os dados.
<ProjectMap>
Para cada elemento de <Project> na seção de <ProjectMap> migrar configurações do arquivo, fornecem um atributo de Destination para especificar o caminho local no Team Foundation Server onde você deseja atualizar o conteúdo do projeto no seu banco de dados do Visual SourceSafe (especificado no atributo de Source ).
Por exemplo, você deseja atualizar o conteúdo de ProjectA no seu banco de dados do Visual SourceSafe em ProjectAna raiz de um projeto de equipe que é chamado Client.
<ProjectMap>
<Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
</ProjectMap>
Para o valor no atributo de destino seja válido, as seguintes condições devem ser verdadeiras:
O projeto de equipe no atributo de Destination (no exemplo anterior, o projeto de equipe é ClientTeamProject) já deve estar localizado na coleção de projeto de equipe antes de iniciar o processo de atualização.
O caminho no atributo de Destination de um elemento de <Project> não deve sobrepor o caminho no atributo de Destination de quaisquer outros elementos de <Project> .Por exemplo, a seção a seguir de <ProjectMap> não é válido:
<ProjectMap> <Project Source="$/ProjectA" Destination="$/ClientTeamProjectA/"></Project> <Project Source="$/ProjectB" Destination="$/ClientTeamProjectA/ProjectB"></Project> </ProjectMap>
Observação |
---|
Se a pasta no atributo de Destination contém quaisquer itens, e se o caminho para alguns dos seus itens Visual Source Safe sobrepõe-se o caminho de controle de versão para qualquer um desses itens, o processo de atualização falhará. |
marca de<TeamFoundationServer>
Na seção de <Settings> , adicione uma marca de <TeamFoundationServer> , e especifique o nome, a porta, o protocolo, e o caminho para a coleção de projeto de equipe do Team Foundation Server usando o seguinte formato:
<TeamFoundationServer name="ServerName" port="PortNumber" protocol="http" collection="path/collection name></TeamFoundationServer>
marca de<Label migrate="false" />
Se seu banco de dados do Visual SourceSafe contém muitas rótulos que são aplicadas a muitos arquivos, o processo de atualização pode ser prolongado.Se sua equipe não precisa esses dados, você pode configurar VssUpgrade adicionando rótulos para ignorar a marca de <Label migrate="false" /> à seção de <Settings> .
atributo de<Output file>
Na seção de <Settings> , no atributo de <Output file> , você pode especificar o caminho e o arquivo onde você deseja que o relatório de atualização gravado.Se você não incluir o atributo, o conversor grava o relatório em um arquivo denominado VSSMigrationReport.xml e colocá-lo no diretório atual.
Executar o comando migrar
Windows Iniciarexecução, Prompt de comando como o administrador.
Na janela de Administrator: Prompt de comando , digite:
VssUpgrade Migratesettings.xml
Substitua settings.xml com o caminho e o nome do arquivo de configurações migrar que você criou.
O comando migrar exibe cada projeto que você está atualizando do banco de dados de Visual SourceSafe e de cada pasta em que os dados serão atualizados no servidor para Controle de versão do Team Foundation.
Quando solicitado, digite a senha de administrador para seu banco de dados do Visual SourceSafe.Se seu banco de dados não tem nenhuma senha, pressione ENTER.
O sistema resume como executar o processo de atualização e solicita que você confirme que você deseja continuar.Por exemplo:
This will start migration with following inputs: SourceSafe Folders -> Team Foundation Server Folders $/ -> $/Sequence2 Full history migration of VSS Database: c:\vss Team Foundation Server: http://fabrikam-4:8080/tfs/DefaultCollection Migration Settings File: migrate_settings.xml Migration Report: C:\VSS\migrate\VSSMigrationReport.xml Depending on the VSS database size, migration may take few hours to complete. Please verify all inputs are correct and confirm. Start migration (Y/N)?
Pressione Y para continuar.
VssUpgrade exibe status no traço conforme o comando migrar continua.Quando o processo for concluído, o sistema resume os resultados.Por exemplo:
Verification of pinned versions: 0 file(s) added, 0 file(s) edited and 86 file(s) label updated
Verification of latest tip versions: No change was required (No fixes required. All latest tip versions were migrated successfully)
Started: Creating label "Pinned_Latest".
Finished: Creating label "Pinned_Latest".
Migration complete.
Migrated 6397 Actions
Warnings 7 and Errors 0
Post migration report file: C:\VSS\migrate\VSSMigrationReport.xml
Se houver qualquer erro ou aviso, você pode localizar detalhes sobre eles em ConverterErrors.txt e em VSSUpgrade.log.
O comando migrar gera um relatório que você pode utilizar para obter detalhes sobre problemas e as alterações possíveis que o comando migrar pode ter causado.Consulte Executar próximas etapas depois de atualizar a partir do Visual SourceSafe.
Continuar o processo usando a atualização incremental
Se o processo de atualização é interrompido por algum motivo, você pode continuar o processo como uma atualização incremental do ponto em que o processo terminou.Uma atualização incremental pode ser útil se o processo de atualização falhou devido a um erro ou a problemas de rede.Durante a atualização incremental, o conversor apenas atualizará os dados que não foram atualizados em sessões anteriores.
Para iniciar uma atualização incremental, siga as etapas em Executar o comando migrar.Quando o comando migrar pergunta se você deseja executar uma migração incremental, pressione Y.
Limitações de uma atualização incremental
Uma atualização incremental não funcionará com a menos que você siga com as seguintes restrições:
No banco de dados do Visual SourceSafe, você não deve ter for executado, o limpa, arquivos, ou restaura atividades.
Você não deve alterar a seção de <ProjectMap> do migrar o arquivo de configurações.
No Team Foundation Server, você não deve alterar as pastas (ou qualquer conteúdo nas pastas) que são especificadas na seção de <ProjectMap>do migrando o arquivo de configurações.
A próxima etapa
Exibir e verificar os resultados, e resolver problemas como necessário