Compartir a través de


Migrar desde Visual SourceSafe

Puede utilizar la herramienta de la línea de comandos VSSConverter de Team Foundation para migrar proyectos, archivos, historial de versiones, etiquetas e información de usuario de la base de datos de Visual SourceSafe al servidor de control de versiones de Team Foundation. Esta herramienta se incluye con Visual Studio Team Foundation Server.

Para obtener más información sobre Visual SourceSafe, vea la página siguiente del sitio web de Microsoft: Control de código fuente en Visual Studio.

Para migrar datos desde la base de datos de Visual SourceSafe

  1. **Entienda los conceptos clave.   **Antes de migrar los datos de la base de datos de Visual SourceSafe al servidor de control de versiones de Team Foundation, debe entender algunos conceptos clave. Team Foundation y Visual SourceSafe tienen diferencias funcionales significativas. Por tanto, VSSConverter debe modificar ciertos tipos de datos mientras se realiza la migración.

    Para obtener más información, vea Cómo convierte VSSConverter los datos más adelante en este tema.

  2. **Asegúrese de que tiene los permisos necesarios.   **Para realizar los procedimientos de este tema, debe tener varios tipos de permisos. Para obtener más información, vea Permisos necesarios más adelante en este tema.

  3. **Planee y prepare el proceso de migración.   **Antes de iniciar el proceso de migración, puede evitar serios problemas para usted y su equipo si realiza pasos de planeación y preparación. Para obtener más información, vea Planear y preparar el proceso de migración más adelante en este tema.

  4. **Analice los datos.   **Antes de migrar los datos de Visual SourceSafe a control de versiones de Team Foundation, debe utilizar primero la característica Analyze del Convertidor de Visual SourceSafe para determinar si algún problema en los datos afectará al resultado de la migración. Este proceso también genera un archivo de asignación de usuarios que es necesario para migrar los datos. Para obtener más información, vea Analizar los datos más adelante en este tema.

  5. **Migre los datos.   **Después de haber ejecutado la característica Analyze, está casi preparado para migrar los datos. Para migrar los datos, debe especificar cómo se migran los nombres de usuario, crear un archivo de configuración de migración y, a continuación, ejecutar el comando Migrate. Para obtener más información, vea Migrar los datos más adelante en este tema.

  6. **Compruebe la migración y resuelva los problemas.   **Una vez completada la característica Migrate, debe seguir estos pasos:

    • Examine el informe generado por la característica Migrate.

    • Compruebe los datos del servidor de control de versiones de Team Foundation para asegurarse de que los datos de la base de datos de Visual SourceSafe se migraron correctamente.

    Después de haber seguido estos pasos, quizás tenga que solucionar problemas. Para obtener más información, vea Comprobar la migración y resolver problemas más adelante en este tema.

Permisos necesarios

Para llevar a cabo los procedimientos de este tema, debe tener los permisos siguientes:

  • En la base de datos de Visual SourceSafe que contiene los datos que desea migrar, debe conocer la contraseña de la cuenta Admin.

  • En el equipo de migración (el equipo donde está instalado Visual Studio), debe ser miembro del grupo Administradores.

  • En la base de datos que VSSConverter utiliza, debe tener el permiso "crear base de datos". Para obtener más información, vea Proporcionar una base de datos para VSSConverter más adelante en este tema.

  • En la capa de aplicación de Team Foundation, debe ser miembro del grupo de seguridad Team Foundation Administrators. Para obtener más información, vea Permisos de Team Foundation Server.

Planear y preparar el proceso de migración

Antes de comenzar el proceso de migración, puede evitar serios problemas para usted y su equipo si realiza pasos de planeación y preparación.

Considerar opciones para reducir el tiempo necesario

El convertidor proporciona opciones de migración que pueden minimizar el tiempo de migración reduciendo el tiempo de migración o permitiendo que los equipos trabajen en el control de versiones durante la migración. Evalúe cuál de las opciones de migración siguientes será más adecuada para su equipo:

  • Migrar los proyectos seleccionados: en lugar de migrar toda la base de datos de Visual SourceSafe al mismo tiempo, puede migrar los proyectos seleccionados en momentos diferentes. Para obtener más información, vea Sección <ProjectMap> más adelante en este tema.

  • Truncar algunos de los datos históricos: puede utilizar la característica de archivo de Visual SourceSafe para migrar el historial parcial. Utilice esta opción si no le interesa migrar el historial anterior. Utilizando esta característica, quita el historial de versiones de archivos y carpetas antes de una fecha concreta. Para obtener más información, vea Truncar el historial de elementos más adelante en este tema.

Programar la migración con el equipo

Intente programar la migración cuando los usuarios no necesiten tener acceso a la base de datos de Visual SourceSafe que va a migrar. Puede asignar bastante tiempo para preparar y migrar los datos si tiene muchos datos, un equipo grande o si ha trabajado durante mucho tiempo en los proyectos.

Nota importanteImportante

Informe a los miembros del equipo cuándo se producirá el proceso de migración y pídales que protejan todos los archivos antes de que el proceso comience.

Copiar y preparar la base de datos de Visual SourceSafe

Copie y prepare la base de datos de Visual SourceSafe siguiendo estos pasos:

  1. Proteja los archivos.   Idealmente, todos los archivos de la base de datos de Visual SourceSafe deben estar protegidos. Al menos, intente proteger tantos archivos como sea posible.

  2. Quite el acceso a los proyectos de Visual SourceSafe.   Asegúrese de que es la única persona que tiene acceso a los proyectos de Visual SourceSafe que va a migrar.

  3. Copie la base de datos.   Siga las instrucciones que se proporcionan en la siguiente página del sitio web de Microsoft: How To Back Up a Visual SourceSafe Database.

  4. Actualice la copia de la base de datos.    Si la base de datos de Visual SourceSafe es de una versión anterior a Visual SourceSafe 6.0, actualícela a Visual SourceSafe 2005 mediante la utilidad DDUPD de Visual SourceSafe. Para obtener más información, vea el siguiente tema del sitio web de Microsoft: DDUPD (Utilidad).

  5. (Opcional) Trunque el historial de elementos.   Para obtener más información, vea Truncar el historial de elementos más adelante en este tema.

  6. Detecte y corrija problemas de integridad de datos en la copia de la base de datos.   Emplee la utilidad ANALYZE de Visual SourceSafe para buscar y corregir problemas de integridad de datos en la base de datos. Para obtener más información sobre cómo utilizar esta herramienta, vea las siguientes páginas del sitio web de Microsoft: ANALYZE Utility y How to Detect and Fix Database Corruption Errors in Visual SourceSafe.

Truncar el historial de elementos

Si no desea migrar todo el historial que está almacenado en Visual SourceSafe, puede migrar solo el historial después de una fecha concreta utilizando la característica de archivo de Visual SourceSafe.

Nota de precauciónPrecaución

El uso de este método quita definitivamente el historial de versiones de la base de datos de Visual SourceSafe. Por tanto, asegúrese de que realiza este procedimiento en una copia de la base de datos de Visual SourceSafe en lugar de en la base de datos que está en servicio.

Para truncar el historial de los elementos en Visual SourceSafe, utilice la funcionalidad de archivo de Visual SourceSafe. Puede especificar la marca de tiempo antes de la cual desea truncar el historial utilizando cualquiera de los valores siguientes:

  • Label

  • Versión de una carpeta

  • Fecha

Para obtener más información sobre cómo archivar en Visual SourceSafe, vea Bases de datos de archivo de Visual SourceSafe.

Nota

La característica de archivo de Visual SourceSafe tiene una limitación de 2 gigabytes (GB) para el tamaño del archivo de almacenamiento. Si se produce un error durante el proceso, intente archivar los proyectos menores por separado.

Preparar el equipo de migración

Prepare el equipo de migración siguiendo estos pasos:

  1. Asegúrese de que el equipo tiene espacio disponible en disco suficiente para completar el proceso de migración. Para calcular cuánto espacio en disco se necesita, sume los siguientes elementos:

    • 5 GB de espacio en disco que está disponible para que VSSConverter cree archivos temporales y genere archivos de registro.

    • Espacio en disco equivalente a dos veces el tamaño de los proyectos en la base de datos de Visual SourceSafe que se migrará.

    • Espacio en disco suficiente para instalar las aplicaciones que se describen en los pasos siguientes.

  2. Instale Visual Studio en el equipo de migración. 

    Nota importanteImportante

    VSSConverter necesita una base de datos (SQL Server Express o SQL Server) para funcionar. De forma predeterminada, al instalar Visual Studio, se instala SQL Server Express y se le concede el permiso necesario para que VSSConverter funcione. Para obtener más información, vea Proporcionar una base de datos para VSSConverter más adelante en este tema.

  3. Instale Visual SourceSafe 2005 en el equipo de migración.

  4. Instale la actualización asociada al artículo 950185 de Microsoft Knowledge Base. Puede obtener este software en la siguiente página del sitio web de Microsoft: KB950185 - VSS Required QFE for Orcas SP1 VSSConverter.

  5. Asegúrese de que ha seguido los pasos descritos en Copiar y preparar la base de datos de Visual SourceSafe.

  6. Copie la base de datos de Visual SourceSafe a una carpeta en el equipo de migración.

    Nota de precauciónPrecaución

    Si utiliza uso compartido de archivos para permitir que el equipo de migración tenga acceso a los datos de la base de datos de Visual SourceSafe en lugar de copiar la base de datos, debe proporcionar acceso Leer y Modificar a la cuenta que utiliza para iniciar sesión en el equipo de migración. No se recomienda este enfoque porque puede prolongar el proceso de migración.

    Nota importanteImportante

    Independientemente de cómo configure el equipo de migración para tener acceso a la base de datos de Visual SourceSafe, asegúrese de que ejecuta el proceso de migración en una copia de la base de datos y no en la base de datos que está en servicio. Este enfoque ayuda a proteger los datos.

Proporcionar una base de datos para VSSConverter

VSSConverter necesita una base de datos (SQL Server Express o SQL Server) para funcionar. De forma predeterminada, al instalar Visual Studio se instala SQL Server Express. Si decide desactivar esta opción al instalar Visual Studio, debe instalar manualmente SQL Server Express más tarde o utilizar SQL Server como la base de datos.

Cualquiera que sea la base de datos que utilice, debe tener el permiso "crear base de datos" para esa base de datos. En el caso de SQL Server Express, este permiso se le concede automáticamente si lo instala junto con Visual Studio.

Si desea utilizar SQL Server en lugar de SQL Server Express, debe modificar el archivo de configuración. Para obtener más información, vea Elemento <SQL> más adelante en este tema.

Preparar la instancia de Team Foundation Server

Prepare el equipo de migración siguiendo estos pasos:

  1. Asegúrese de que la capa de datos de Team Foundation tenga suficiente espacio de almacenamiento disponible. Probablemente necesitará alrededor del doble del tamaño de datos de los proyectos de la base de datos de Visual SourceSafe que va a migrar.

    Este requisito puede ser mayor o menor dependiendo de los siguientes factores:

    • El tamaño de la base de datos de Visual SourceSafe que se va a migrar.

    • El número de acciones que se van a migrar.

  2. La característica Migrate necesita que las colecciones de proyectos de equipo y los proyectos de equipo ya existan en el servidor de control de versiones de Team Foundation antes de que el proceso de migración pueda comenzar. Si no tiene todavía la colección de proyectos de equipo o el proyecto de equipo al que desea migrar los datos de Visual SourceSafe, realice uno o ambos de los pasos siguientes:

    • Cree una colección de proyectos de equipo a la que desee migrar los datos de la base de datos de Visual SourceSafe. Para obtener más información, vea Crear una colección de proyectos de equipo.

    • Cree uno o más proyectos de equipo a los que desee migrar los datos de la base de datos de Visual SourceSafe. Para obtener más información, vea Crear un proyecto de equipo.

Analizar los datos

Antes de migrar los datos de Visual SourceSafe a control de versiones de Team Foundation, debe utilizar primero la característica Analyze del Convertidor de Visual SourceSafe para determinar si algún problema en los datos afectará al resultado de la migración. Esta característica también genera un archivo de asignación de usuarios que la característica Migrate utiliza para migrar los datos.

Crear un archivo de configuración de análisis

Para utilizar la característica Analyze, debe crear un archivo de configuración. En este archivo, especifique la ruta de acceso de la base de datos de Visual SourceSafe que migrará y las carpetas que desea migrar.

El siguiente código XML es un ejemplo de un archivo de configuración de análisis.

<?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>

Puede copiar el ejemplo anterior, pegarlo en su propio archivo de configuración y, a continuación, modificarlo. La siguiente información puede ayudarle a adaptar el ejemplo de acuerdo con sus necesidades.

Atributo <?xml encoding>

El atributo <?xml encoding> debe coincidir con la codificación que se utiliza en el archivo de configuración. Por ejemplo, si el archivo se guarda como Unicode, la etiqueta <?xml encoding> es la siguiente:

<?xml version="1.0" encoding="unicode">

Atributo <VSSDatabase name>

En el atributo <VSSDatabase name>, especifique la ruta de acceso de la carpeta que contiene el archivo srcsafe.ini para la copia de la base de datos de Visual SourceSafe que está migrando. A continuación se muestra un ejemplo de código.

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss"></VSSDatabase>
   ...
</Source>

La ruta de acceso no debe contener la cadena srcsafe.ini. Por ejemplo, el siguiente atributo <VSSDatabase name> es incorrecto y hará que se produzca un error en el comando VSSConverter:

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss\srcsafe.ini"></VSSDatabase>
   ...
</Source>

Atributo <UserMap name>

La característica Analyze recopila y compila datos sobre los usuarios de Visual SourceSafe y los almacena en un archivo XML. Opcionalmente, en el atributo <UserMap name> puede especificar la ruta de acceso y el nombre del archivo donde desea almacenar estos datos. Si no especifica este atributo, la característica Analyze creará un archivo denominado UserMap.xml y lo pondrá en el directorio actual.

Sección <ProjectMap>

En la sección <ProjectMap>, especifique la ruta de acceso de cada proyecto de Visual SourceSafe que desea migrar en el atributo Source de un elemento <Project>.

Para migrar todos los datos de la base de datos de Visual SourceSafe, haga que la sección <ProjectMap> coincida con el ejemplo siguiente:

<ProjectMap>
   <Project From="$/"></Project>
</ProjectMap>

En lugar de migrar toda la base de datos de Visual SourceSafe al mismo tiempo, puede migrar los proyectos seleccionados en momentos diferentes. Esta opción puede ayudarle a evitar que los equipos queden bloqueados durante la migración si tiene muchos datos para migrar.

Las rutas de acceso de los atributos Source no se deben superponer. Por ejemplo, la siguiente sección <ProjectMap> no es válida:

<ProjectMap>
   <Project Source="$/ProjectA"></Project>
   <Project Source="$/ProjectA/Controller"></Project>
</ProjectMap>

Atributo <Output file>

En la sección <Settings>, en el atributo <Output file>, puede especificar la ruta de acceso y el nombre del archivo donde desea que se escriba el informe del análisis. Si no especifica este atributo, el convertidor escribirá el informe en un archivo denominado VSSAnalysisReport.xml y lo pondrá en el directorio actual.

Elemento <SQL>

Para que el convertidor utilice SQL Server en lugar de SQL Server Express, puede agregar un elemento <SQL> a la sección <Source> del archivo de configuración de migración. Este elemento utiliza la sintaxis siguiente: <SQL Server="SQL_Server_name"></SQL>.

Por ejemplo, el siguiente elemento <SQL> indica que el servidor es "ContosoSQLServer":

<Source name="VSS">
   ...
   <SQL Server="ContosoSQLServer"></SQL>
   ...
</Source>

Ejecutar el comando Analyze

Para analizar un proyecto utilizando el convertidor

  1. Haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft Visual Studio 2010, seleccione Visual Studio Tools, haga clic con el botón secundario en Símbolo del sistema de Visual Studio 10.0 y, a continuación, haga clic en Ejecutar como administrador.

    Si aparece el cuadro de diálogo Control de cuentas de usuario, haga clic en Continuar.

  2. Escriba la línea de comandos siguiente:

    VSSConverter Analyze configuración.xml

    Reemplace configuración.xml con la ruta de acceso y el nombre del archivo de configuración de análisis que creó.

  3. Cuando se le pida, proporcione la contraseña de administrador para Visual SourceSafe.

    VSSConverter muestra el estado en curso a medida que avanza la característica Analyze. Cuando se completa el proceso, la característica Analyze genera un informe y un archivo de asignación de usuarios.

Examinar y resolver problemas encontrados por la característica Analyze

El informe de análisis proporciona información sobre los aspectos de la base de datos de Visual SourceSafe que pueden producir problemas durante el proceso de migración. Intente resolver tantos como sea posible para minimizar los problemas con el proceso de migración, tal y como se describe en la próxima sección.

Algunos archivos están desprotegidos

El informe enumera los archivos que están desprotegidos actualmente. El proceso de migración no conserva información de desprotección. Idealmente, todos los archivos de la base de datos de Visual SourceSafe deben estar protegidos. Al menos, intente proteger tantos archivos como sea posible.

Algunos elementos tienen problemas de integridad de datos

El informe enumera los elementos cuya integridad de datos se ha puesto en peligro. No se migrarán estos elementos. La utilidad ANALYZE de Visual SourceSafe quizás pueda corregir estos tipos de problemas. Para obtener más información, vea las siguientes páginas del sitio web de Microsoft: ANALYZE Utility y How to Detect and Fix Database Corruption Errors in Visual SourceSafe.

Algunas carpetas de proyectos asignados contienen un historial que no está incluido en la sección <ProjectMap>

Si se mueve una carpeta de un proyecto a otro en una base de datos de Visual SourceSafe, el historial de esa carpeta estará contenido en los proyectos original y actual. Para migrar este tipo de carpeta con todo su historial, debe migrar tanto el proyecto original y como el actual.

Por ejemplo, está migrando el proyecto Project2 de Visual SourceSafe. Este proyecto contiene la carpeta $/Project2/FeatureA, que se movió de Project1 en algún momento de su historial.

Si la sección <ProjectMap> contiene...

Por ejemplo...

Entonces...

Ambos proyectos.

<ProjectMap>
   <Project Source="$/Project1"></Project>
   <Project Source="$/Project2"></Project>
</ProjectMap>

La carpeta se migra con todo su historial.

El proyecto que contenía originalmente la carpeta pero no el proyecto que la contiene actualmente.

<ProjectMap>
   <Project Source="$/Project1"></Project>
</ProjectMap>

No se migra la carpeta.

El proyecto que contiene actualmente la carpeta pero no el proyecto que la contenía originalmente.

<ProjectMap>
   <Project Source="$/Project2"></Project>
</ProjectMap>

La carpeta se migra con su historial a partir de cuando se movió al proyecto actual. No se migra el historial que se produjo antes de que la carpeta se moviera al proyecto actual.

Para obtener más información sobre la sección <ProjectMap> del archivo de configuración, vea Sección <ProjectMap> anteriormente en este tema.

Control de versiones de Team Foundation no admite algunos nombres de etiqueta

El informe enumera los nombres de etiqueta que cambiarán cuando se migren porque contienen caracteres que control de versiones de Team Foundation no admite.

Migrar los datos

Después de haber ejecutado la característica Analyze, está casi preparado para migrar los datos. Antes de ejecutar el comando Migrate, debe crear un archivo de configuración de migración. Opcionalmente, puede especificar cómo se migran los nombres de usuario.

Especificar cómo se migran los nombres de usuario

Puede controlar cómo se migra la información de usuario de Visual SourceSafe a control de versiones de Team Foundation. En concreto, puede especificar qué nombre de usuario debe asociar la característica Migrate a cada conjunto de cambios en el historial de cada elemento en control de versiones de Team Foundation. Para ello, edite el archivo de asignación de usuarios que se creó cuando ejecutó la característica Analyze, tal y como se ha explicado anteriormente en este tema.

El archivo de asignación de usuarios es opcional. Si omite el elemento <UserMap> del archivo de configuración, cada conjunto de cambios se compila de la siguiente manera:

  • El campo User se establece en el nombre de la cuenta bajo la que se está ejecutando VSSConverter.

  • El nombre del usuario que realizó la acción en la base de datos de Visual SourceSafe se almacena en el campo Comment.

Ejemplo de un archivo de asignación de usuarios

Al ejecutar la característica Analyze, esta compila datos sobre los usuarios de Visual SourceSafe y los almacena en un archivo XML. Este archivo muestra cada usuario de Visual SourceSafe que ha realizado alguna vez una operación de control de versiones en los proyectos de Visual SourceSafe que está migrando.

En el ejemplo siguiente se muestra un archivo de asignación de usuarios creado por la característica Analyze del convertidor de Visual SourceSafe.

<?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>

Puede especificar el atributo To de ninguno, algunos o todos los elementos UserMap en el archivo de asignación de usuarios. Por ejemplo, podría modificar el ejemplo anterior de la manera siguiente:

<?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 en el ejemplo anterior Guest está asignado a Test1 y no se especifica ningún dominio. En estos casos, VSSConverter supone que la cuenta pertenece al dominio predeterminado.

Si no especifica ningún atributo <UserMap To>, cada conjunto de cambios se crea de la manera siguiente:

  • El campo User se establece en el nombre de la cuenta bajo la que se ejecutó VSSConverter.

  • El nombre del usuario que realizó la acción en la base de datos de Visual SourceSafe se almacena en el campo Comment.

  • Si especifica un atributo <UserMap To> y el valor es un usuario válido en un servidor que está ejecutando Team Foundation, el campo User se establece en el nombre de esa cuenta. Si el valor no es un usuario válido en un servidor que está ejecutando Team Foundation, VSSConverter mostrará un error y finalizará el proceso de migración.

Crear un archivo de configuración de migración

El archivo de configuración de migración se utiliza para especificar qué datos de Visual SourceSafe se desean migrar y para controlar diversos aspectos de cómo se desea realizar la migración. La manera más sencilla de crear este archivo es copiar el archivo que creó en Crear un archivo de configuración de análisis anteriormente en este tema. A continuación, agregue más datos al archivo para que pueda utilizarlo la característica Migrate.

En el ejemplo siguiente se muestra un archivo de configuración de migración.

<?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>

La siguiente información puede ayudarle a modificar el archivo de configuración para especificar cómo migrará los datos la característica Migrate.

Atributo <Project Destination>

Para cada elemento <Project> de la sección <ProjectMap> del archivo de configuración, proporcione un atributo Destination para especificar la ruta de acceso de la ubicación del servidor de control de versiones de Team Foundation donde desea migrar el contenido del proyecto en la base de datos de Visual SourceSafe (se especifica en el atributo Source).

Por ejemplo, desea migrar el contenido de ProjectA de la base de datos de Visual SourceSafe a ProjectA en la raíz de un proyecto de equipo denominado Client.

<ProjectMap>
   <Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
</ProjectMap>

Para que el valor del atributo Destination sea válido, las siguientes condiciones deben ser verdaderas:

  • El proyecto de equipo del atributo Destination (en el ejemplo anterior, el proyecto de equipo es ClientTeamProject) ya debe estar en la colección de proyectos de equipo antes de que se inicie el proceso de migración.

  • Si la carpeta del atributo Destination (en el ejemplo anterior, la carpeta es ProjectA) ya se encuentra en el proyecto de equipo, la carpeta debe estar vacía.

  • La ruta de acceso del atributo Destination de un elemento <Project> no debe superponerse a la ruta de acceso del atributo Destination de cualquier otro elemento <Project>. Por ejemplo, la siguiente sección <ProjectMap> no es válida:

    <ProjectMap>
       <Project Source="$/ProjectA" Destination="$/ClientTeamProjectA/"></Project>
       <Project Source="$/ProjectB" Destination="$/ClientTeamProjectA/ProjectB"></Project>
    </ProjectMap>
    

Etiqueta <TeamFoundationServer>

En la sección <Settings>, agregue una etiqueta <TeamFoundationServer> y especifique el nombre, el puerto, el protocolo y la ruta de acceso de la colección de proyectos de equipo en el servidor que está ejecutando Team Foundation Server utilizando el formato siguiente:

<TeamFoundationServer name="ServerName" port="PortNumber" protocol="http" collection="path/collection name></TeamFoundationServer>

Etiqueta <Label migrate="false" />

Si la base de datos de Visual SourceSafe contiene muchas etiquetas que se aplican a muchos archivos, es posible que se prolongue el proceso de migración. Si su equipo no necesita estos datos, puede configurar VSSConverter para que omita las etiquetas agregando la etiqueta <Label migrate="false" /> a la sección <Settings>.

Atributo <Output file>

En la sección <Settings>, en el atributo <Output file>, puede especificar la ruta de acceso y el archivo donde desea que se escriba el informe de migración. Si no incluye el atributo, el convertidor escribirá el informe en un archivo denominado VSSMigrationReport.xml y lo pondrá en el directorio actual.

Ejecutar el comando Migrate

Para ejecutar el comando Migrate

  1. Haga clic en Inicio, seleccione Todos los programas, seleccione Microsoft Visual Studio 2010, seleccione Visual Studio Tools, haga clic con el botón secundario en Símbolo del sistema de Visual Studio 10.0 y, a continuación, haga clic en Ejecutar como administrador.

    Si aparece el cuadro de diálogo Control de cuentas de usuario, haga clic en Continuar.

  2. En el símbolo del sistema, escriba la siguiente línea de comandos:

    VSSConverter Migrate configuración.xml

    Reemplace configuración.xml con la ruta de acceso y el nombre del archivo de configuración de migración que creó.

    La característica Migrate muestra cada proyecto que está migrando de la base de datos de Visual SourceSafe y cada carpeta en la que se migrarán los datos del servidor de control de versiones de Team Foundation.

  3. Cuando se le pida, presione Y para confirmar la migración.

  4. Cuando se le pida, escriba la contraseña del usuario que administra la base de datos de Visual SourceSafe.

Durante el proceso, la característica Migrate muestra su estado actual en la ventana Símbolo del sistema.

Reanudar el proceso utilizando una migración incremental

Si el proceso de migración se interrumpe por alguna razón, puede reanudar el proceso como una migración incremental a partir del punto en el que finalizó el proceso. Una migración incremental puede ser útil si se produjo un error en el proceso de migración debido a un error o a problemas de red. Durante la migración incremental, el convertidor migrará únicamente los datos que no se migraron en sesiones anteriores.

Para iniciar una migración incremental, siga los pasos mostrados en Ejecutar el comando Migrate. Cuando la característica Migrate le pregunte si desea realizar una migración incremental, presione Y.

Limitaciones de una migración incremental

Una migración incremental no se realizará correctamente a menos que cumpla las restricciones siguientes:

  • En la base de datos de Visual SourceSafe, no debe realizar actividades de destrucción, purgado, archivo o restauración.

  • No debe modificar la sección <ProjectMap> del archivo de configuración de migración.

  • En el servidor de control de versiones de Team Foundation, no debe modificar ninguna carpeta (o ningún contenido de las carpetas) que se especifique en la sección <ProjectMap> del archivo de configuración de migración.

Comprobar la migración y resolver problemas

Una vez completada la característica Migrate, debe seguir estos pasos:

  • Examine el informe generado por la característica Migrate.

  • Compruebe los datos del servidor de control de versiones de Team Foundation para asegurarse de que se migraron correctamente.

Después de haber seguido estos pasos, quizás tenga que solucionar problemas.

Cómo resolver la superación del límite de almacenamiento para SQL Server Express

De forma predeterminada, VSSConverter utiliza SQL Server Express para almacenar metadatos temporales. Estos metadatos suelen necesitar un pequeño porcentaje del tamaño total de los datos que migra. En el caso improbable de que se produzca un error en la migración porque se alcance el límite de 4 GB de SQL Server Express, puede aplicar una configuración que indique al convertidor que debe utilizar una implementación de SQL Server en su lugar. Para obtener más información, vea Elemento <SQL> anteriormente en este tema.

Convertir archivos en el formato de nombre corto compatible de MS DOS (8.3) (TF227014)

control de versiones de Team Foundation no permite nombres de archivo que tienen el formato de nombre corto compatible de MS DOS (8.3) (por ejemplo, abcdef~1.txt). Al analizar o intentar migrar archivos que tienen este tipo de nombre, aparece un error TF227014.

Para evitar este problema, puede aplicar temporalmente una configuración a la capa de aplicación de Team Foundation para que permita archivos que tengan esos nombres. Para ello, debe establecer Allow8Dot3Paths en True en la base de datos de configuración de Team Foundation.

Nota importanteImportante

Para evitar problemas con equipos cliente que admiten nombres cortos compatibles de MS-DOS, después de completar el proceso de migración, se recomienda encarecidamente que establezca Allow8Dot3Paths en False como se describe en el procedimiento siguiente.

Para realizar el siguiente procedimiento, Windows PowerShell debe estar habilitado en el servidor de capa de aplicación de Team Foundation. Para obtener más información, vea el siguiente tema del sitio web de Microsoft: Scripting con Windows PowerShell.

Permisos necesarios

Para realizar este procedimiento, debe ser miembro del grupo Administradores en el servidor de capa de aplicación de Team Foundation. Para obtener más información, vea Permisos de Team Foundation Server.

Para migrar una base de datos de Visual SourceSafe que contiene archivos cuyo nombre tiene el formato de nombre corto compatible de MS-DOS

  1. Inicie sesión en el servidor de nivel de aplicación de Team Foundation.

  2. Cree un script de Windows PowerShell denominado Allow8Dot3Paths.

    1. Copie el texto de Script Allow8Dot3Paths de PowerShell y péguelo en el script.

    2. Cambie ServerPath para que coincida con la ruta de acceso de la dirección URL que utiliza para conectarse a Team Foundation Server. De forma predeterminada, la ruta de acceso al servidor es "tfs".

    3. Cambie CollectionName para que coincida con el nombre de la colección de proyectos de equipo a la que está migrando los datos (por ejemplo, DefaultCollection).

      Por ejemplo, el resultado final sería la siguiente línea del script:

      $collectionBaseUrl = "https://localhost:8080/tfs/DefaultCollection/";
      
  3. Ejecute el script Allow8Dot3Paths.

  4. Recicle el grupo de aplicaciones de Team Foundation.

    1. Haga clic en Inicio, en Herramientas administrativas y luego en Administración de equipos.

    2. En el panel de navegación, expanda Servicios y Aplicaciones.

    3. Haga clic en Administrador de Internet Information Services (IIS), expanda el equipo local y haga doble clic en Grupos de aplicaciones.

    4. Haga clic con el botón secundario en el grupo de aplicaciones y, a continuación, haga clic en Reciclar.

  5. Ejecute el comando de migración.

    Para obtener más información, vea Ejecutar el comando Migrate.

  6. Modifique el script Allow8Dot3Paths de Windows PowerShell que creó anteriormente, reemplazando "true" con "false".

  7. Ejecute el script Allow8Dot3Paths modificado.

  8. Recicle el grupo de aplicaciones de Team Foundation.

    1. Haga clic en Inicio, en Herramientas administrativas y luego en Administración de equipos.

    2. En el panel de navegación, expanda Servicios y Aplicaciones.

    3. Haga clic en Administrador de Internet Information Services (IIS), expanda el equipo local y haga doble clic en Grupos de aplicaciones.

    4. Haga clic con el botón secundario en el grupo de aplicaciones y, a continuación, haga clic en Reciclar.

  9. Abra Team Explorer y conéctese a la colección de proyectos de equipo a la que migró los datos.

  10. En Explorador de control de código fuente, cambie el nombre de todos los archivos cuyos nombres tengan el formato de nombre corto compatible de MS-DOS (8.3).

Script Allow8Dot3Paths de PowerShell

# Load client OM assembly.
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

$collectionBaseUrl = "https://localhost:8080/ServerPath/CollectionName/";

$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($collectionBaseUrl);
$collectionHive = $tfs.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry]);

# Set some version control settings in the collection hive.
$collectionHive.SetValue("/Service/VersionControl/Settings/Allow8Dot3Paths", "True");

# Display all version control settings as a table.
$collectionHive.ReadEntries("/Service/VersionControl/Settings/...") | ft -a

Cómo convierte VSSConverter los datos

Team Foundation y Visual SourceSafe tienen diferencias funcionales significativas. Por tanto, VSSConverter debe modificar ciertos tipos de datos mientras se realiza la migración.

Conjuntos de cambios

Una característica clave de control de versiones de Team Foundation es cómo agrupa los cambios a varios archivos en una única unidad cuando un usuario protege un conjunto de cambios. Esta unidad única se denomina conjunto de cambios.

Visual SourceSafe no tiene ninguna característica equivalente a los conjuntos de cambios. Sin embargo, durante el proceso de conversión, cada serie de cambios se agrupa en un conjunto de cambios siempre y cuando las siguientes condiciones sean verdaderas:

  • Los cambios no están en conflicto entre sí. Por ejemplo, no hay dos acciones que afecten al mismo archivo o carpeta.

  • Los cambios se produjeron con unos pocos minutos de diferencia entre sí.

  • El mismo usuario protegió los cambios.

  • Los cambios tienen el mismo comentario de protección.

Para obtener más información, vea Trabajar con conjuntos de cambios.

Compartir y anclar

En Visual SourceSafe, puede compartir un archivo en varias carpetas. Los cambios que realiza en un archivo compartido se replican en las carpetas en las que se comparte el archivo. control de versiones de Team Foundation no tiene ninguna característica equivalente. Durante la migración, los archivos compartidos en el proyecto de Visual SourceSafe se migran creando una copia independiente adicional del elemento en el servidor de control de versiones de Team Foundation.

control de versiones de Team Foundation no tiene ninguna característica equivalente a la característica Anclar de Visual SourceSafe. Durante la migración, los elementos anclados del proyecto de Visual SourceSafe se convierten en elementos con etiqueta en el servidor de control de versiones de Team Foundation. Para obtener más información, vea la siguiente sección.

Para obtener más información sobre las etiquetas en control de versiones de Team Foundation, vea Uso de etiquetas para hacer una captura de los archivos.

Datos del historial

Cada evento en el historial de un elemento de la base de datos de Visual SourceSafe se transfiere al servidor de control de versiones de Team Foundation como un conjunto de cambios. Una vez completado el proceso de migración, puede ver estos datos en la ventana Historial. Para obtener más información, vea Usar la ventana Historial.

Algunos cambios a los datos se producen durante la migración.

Cómo se migran los datos sobre el nombre de usuario y la marca de fecha y hora

A medida que cada entrada del historial de un elemento de la base de datos de Visual SourceSafe se migra a un conjunto de cambios en el servidor de control de versiones de Team Foundation, se producen los cambios siguientes:

  • La marca de fecha y hora del conjunto de cambios se establece en la fecha y la hora en que se migró el elemento.

  • La marca de fecha y hora original se almacena en el campo Comentarios del conjunto de cambios.

  • El nombre de usuario se almacena en el campo Usuario o en el campo Comentarios del conjunto de cambios, dependiendo del resultado del proceso de asignación de usuarios. Para obtener más información, vea Especificar cómo se migran los nombres de usuario anteriormente en este tema.

Cómo se convierten determinados tipos de eventos

Eventos como la edición, el cambio de nombre y la eliminación se migran de la base de datos de Visual SourceSafe a conjuntos de cambios en el servidor de control de versiones de Team Foundation de una manera sencilla. Sin embargo, VSSConverter migra algunos eventos de maneras inesperadas, como se muestra en la tabla siguiente.

Evento de Visual SourceSafe

Cómo se migra a Team Foundation

Agregar archivo o carpeta

Este conjunto de cambios es el primer evento del historial de cada archivo y carpeta que se migra.

A diferencia de lo que ocurre en Visual SourceSafe, no se registra ningún evento para el elemento primario de cada elemento secundario que contiene.

Bifurcación

El uso compartido es una condición previa de la bifurcación en Visual SourceSafe, pero control de versiones de Team Foundation no permite compartir. Por tanto, la migración de un archivo bifurcado crea una copia del archivo en la carpeta de destino. 

Los archivos compartidos de la base de datos de Visual SourceSafe se migran a control de versiones de Team Foundation copiando la versión del archivo que existía cuando se compartió y colocando la copia en la carpeta de destino. Después de esto, cada conjunto de cambios se replica en ambas copias del archivo hasta que se produzca el evento de bifurcación.

Etiquetar archivo 

En Team Foundation, puede aplicar una etiqueta a una versión de un archivo o una carpeta. En Visual SourceSafe, puede etiquetar un archivo de forma explícita o implícita. Cuando un archivo se etiqueta explícitamente en Visual SourceSafe, se crea una nueva versión del archivo. Si obtiene archivos utilizando esa etiqueta, obtiene el contenido del archivo que corresponde a la versión del archivo que existía cuando se creó la etiqueta. Para migrar etiquetas explícitas, el convertidor toma la etiqueta que corresponde a la versión con etiqueta de Visual SourceSafe y la aplica a la versión de Team Foundation. Sin embargo, no crea una versión nueva.

Al aplicar una etiqueta a una carpeta en Visual SourceSafe, la etiqueta se aplica implícitamente a todos los archivos y carpetas existentes bajo esa carpeta y el convertidor no crea versiones nuevas. En el caso de etiquetas implícitas, el convertidor no realiza ninguna acción porque las versiones correspondientes de Team Foundation se etiquetan automáticamente durante la migración de las etiquetas explícitas de la carpeta.

NotaNota
Si la base de datos de Visual SourceSafe contiene muchas etiquetas que se aplican a muchos archivos, es posible que se prolongue el proceso de migración.Si su equipo no necesita estos datos, puede configurar VSSConverter para que omita las etiquetas.Para obtener más información, vea <Label migrate="false" /> anteriormente en este tema.

Etiquetar carpeta

En Visual SourceSafe, al aplicar una etiqueta a una carpeta, todos los archivos y carpetas que hay bajo esa carpeta se etiquetan implícitamente y no se crean nuevas versiones. Durante la migración de estas carpetas, el convertidor aplica la etiqueta a la versión correspondiente de la carpeta en Team Foundation. Este comportamiento aplica automáticamente la etiqueta a las versiones actuales de los archivos y carpetas que hay dentro de la carpeta con etiqueta.

NotaNota
Si la base de datos de Visual SourceSafe contiene muchas etiquetas que se aplican a muchos archivos, es posible que se prolongue el proceso de migración.Si su equipo no necesita estos datos, puede configurar VSSConverter para que omita las etiquetas.Para obtener más información, vea <Label migrate="false" />.

Mover carpeta

El evento de mover carpeta crea una nueva versión de la carpeta en Team Foundation.

VSSConverter no migrará el historial completo de elementos en carpetas movidas a menos que se migren tanto las carpetas de origen como de destino al mismo tiempo. Para obtener más información, vea Examinar y resolver problemas encontrados por la característica Analyze.

NotaNota
Si el evento de mover carpeta se combina con un evento de restaurar, puede que los datos del historial no se migren correctamente.

Restaurar

No se migran ningún dato del historial que se produzca antes que un evento de restaurar.

Anclar y desanclar

control de versiones de Team Foundation no admite anclar elementos. VSSConverter migra un archivo anclado creando dos etiquetas.

La etiqueta PINNED_LATEST se aplica a las versiones ancladas de los archivos anclados y a la versión más reciente de los archivos desanclados. La etiqueta PINNED solo se aplica a las versiones ancladas de los archivos anclados. Después de la migración, la etiqueta PINNED_LATEST recuperará los mismos archivos que la acción Obtener la última versión de Visual SourceSafe. Sin embargo, la etiqueta PINNED_LATEST podría devolver archivos diferentes si se produjeron eventos distintos de proteger archivo una vez anclado un archivo, como cambiar el nombre o eliminar el archivo.

Compartir

control de versiones de Team Foundation no admite el uso compartido. Los archivos compartidos de la base de datos de Visual SourceSafe se migran a control de versiones de Team Foundation copiando la versión del archivo que existía cuando se compartió y colocando la copia en la carpeta de destino. Después, cada conjunto de cambios se replica en ambas copias del archivo.

Recuperar archivo o carpeta

Durante la migración de eventos de recuperación de un archivo o una carpeta, el convertidor reproduce el evento para crear una nueva versión del archivo y la carpeta en Team Foundation.

VSSConverter crea un conjunto de cambios que incluye el nombre del archivo o de la carpeta, la fecha y la hora en que se recuperó, y el nombre de usuario.

Enlaces de control de código fuente

VSSConverter restaura los enlaces de control de versiones para cada solución.