Introducir control de código fuente

Actualización: noviembre 2007

Visual Studio admite el control de código fuente mediante el uso de la capa de protocolo de integración de Visual Studio (VSIP) en el entorno de desarrollo integrado (IDE). VSIP puede hospedar diferentes paquetes de control de código fuente, los cuales se implementan generalmente como complementos escritos en los protocolos apropiados. Un ejemplo de complemento de control de código fuente lo constituye el complemento de LAN de SourceSafe admitido por Visual SourceSafe. Para obtener más información acerca de este complemento, vea la ayuda de Visual SourceSafe.

Nota:

Visual Studio hace referencia a los paquetes de control de código fuente como complementos, aunque se pueden implementar como otros tipos de módulos de software.

El control de código fuente de Visual Studio es simplemente un entorno para complementos de control de código fuente de otros fabricantes y, por tanto, la funcionalidad de éstos sólo se activa al instalarlos. Para utilizar complementos de control de código fuente de otros fabricantes, se deben instalar dichos complementos o las aplicaciones de otros fabricantes en los equipos servidor y cliente del sitio. Una vez concluida la instalación según las instrucciones correspondientes, se puede obtener acceso a su funcionalidad a través de Visual Studio. Las operaciones habilitadas varían en función del complemento de control de código fuente. Para obtener información detallada acerca de las operaciones específicas de cada paquete, se recomienda consultar su documentación.

Vea "Información general (Código fuente)" en la Ayuda de Visual Studio para obtener información sobre el diseño del control de código fuente en Visual Studio. Asimismo, en esta sección de la Ayuda se ofrece toda la información necesaria para desarrollar un paquete de control de código fuente de otros fabricantes compatible con Visual Studio.

Fundamentos de la compatibilidad del control de código fuente en Visual Studio

La compatibilidad del control de código fuente en Visual Studio incluye la configuración de opciones de entorno y de complementos de control de código fuente, el cambio de complementos y el acceso a bases de datos, así como el control de versiones y la manipulación de proyectos, soluciones y archivos de Visual Studio y de los metadatos asociados. Asimismo, el control de código fuente en Visual Studio fuerza protocolos para el control de accesos a bases de datos, tales como el estilo de trabajo Bloquear-Modificar-Desbloquear, según el cual los usuarios deben desproteger de forma exclusiva los archivos para poder modificarlos.

Es importante recordar que se debe utilizar el control de código fuente de los mecanismos de Visual Studio para interactuar con un complemento de control de código fuente. No utilice otras aplicaciones cliente ofrecidas por el fabricante del complemento, por ejemplo, el Explorador de Visual SourceSafe. El uso apropiado de los mecanismos de control de código fuente de Visual Studio garantiza la adición exclusiva de archivos correctos al control de código fuente y la actualización de los archivos de la solución y del proyecto de Visual Studio con los detalles específicos del complemento.

Configuración y cambio de complementos de control de código fuente

El control de código fuente de Visual Studio admite la configuración y el cambio de complementos a través de la opción Control de código fuente que aparece en el cuadro de diálogo Opciones. Para obtener acceso a esta opción, se debe seleccionar Opciones en el menú Herramientas de Visual Studio. El cuadro de diálogo Opciones permite seleccionar el complemento que se va a utilizar para el control de código fuente y configurar las opciones de entorno para dicho complemento.

Antes de que el usuario y su equipo puedan disfrutar de las características de control de código fuente en el IDE de Visual Studio, deberá realizar lo siguiente:

  • Determinar si hay complementos de control de código fuente disponibles.

  • Si el complemento de control de código fuente que desea utilizar no se encuentra instalado en su equipo, instalar el producto de otro fabricante que admita el complemento y reiniciar Visual Studio para registrarlo.

  • Crear una base de datos de control de código fuente según la funcionalidad del complemento específico.

  • Enviar un vínculo a la ubicación de la base de datos a todos los miembros del equipo.

Acceso a bases de datos

Los comandos básicos de acceso a bases de datos, como por ejemplo Desproteger y Agregar al control de código fuente, se encuentran disponibles en el menú Archivo de Visual Studio. Sin embargo, estos comandos sólo se activan tras elegir el complemento de control de código fuente que se va a utilizar. Al utilizar uno de los comandos básicos de acceso a bases de datos, el complemento elegido invoca la funcionalidad o el entorno correspondiente de otro fabricante para completar la operación asociada.

Mientras que algunas operaciones de acceso se activan simplemente al seleccionar un complemento, otras sólo se encuentran disponibles si al mismo tiempo se selecciona un proyecto, una solución o un archivo de Visual Studio en el Explorador de soluciones de Visual Studio. Por ejemplo, puede utilizar un comando Agregar al control de código fuente una vez que haya elegido un complemento. Sin embargo, para utilizar un comando Proteger, debe tener seleccionado un elemento en el Explorador de soluciones.

Control de archivos por parte del control de código fuente

Se pueden agregar los siguientes archivos al control de código fuente de Visual Studio:

  • Archivos de solución (*.sln).

  • Archivos de proyecto, por ejemplo, archivos *.csproj y *.vbproj.

  • Archivos de configuración de aplicaciones, basados en XML, utilizados para controlar el comportamiento en tiempo de ejecución de un proyecto de Visual Studio.

No se pueden agregar al control de código fuente los siguientes archivos:

  • Archivos de opciones de usuario de solución (*.suo).

  • Archivos de opción de usuario de proyectos, por ejemplo, archivos *.csproj .user o *.vbproj.user.

  • Archivos de información de Web, por ejemplo, *.csproj .webinfo o *.vbproj .webinfo, los cuales controlan la ubicación de la raíz virtual de un proyecto Web.

  • Archivos de resultados de generación, por ejemplo, archivos *.dll y *.exe.

Propagación de cambios de espacio de nombres

El control de código fuente de Visual Studio admite la propagación de cambios de espacio de nombres en complementos de control de código fuente. La propagación de cambios se aplica a operaciones de eliminación, cambio de nombre y movimiento. Al solicitar una operación para la que se encuentra habilitada la propagación de cambios, el complemento de control de código fuente cambia la copia de trabajo del elemento bajo control de código fuente, la copia maestra de la base de datos y las copias de otros usuarios cuando se protege el elemento y éstos lo recuperan.

Control de soluciones y proyectos por parte del control de código fuente

Al agregar una solución o proyecto al control de código fuente, lo primero que debe hacer el complemento de control de código fuente es identificar una raíz unificada para el elemento que se va a agregar. Esta raíz es una ruta de acceso al directorio primario correspondiente a todos los archivos y carpetas de trabajo que constituyen la solución o proyecto.

Generalmente, la raíz unificada se asigna a una ruta de acceso física en disco. Sin embargo, si la solución contiene archivos o proyectos que residen en varias unidades de disco, no hay ninguna carpeta física a la que se pueda asignar la raíz unificada. Las soluciones pueden abarcar varias unidades, pero no así las raíces unificadas de control de código fuente. Para hacer frente a esta situación, el control de código fuente de Visual Studio admite el concepto de una raíz bien unificada. Este tipo de raíz está formado por un contenedor virtual en el que se ubican todos los proyectos y archivos de una solución bajo control de código fuente.

Al agregar una solución mediante un complemento de control de código fuente con funciones avanzadas, el complemento crea en la base de datos una carpeta raíz vacía para la solución. Esta carpeta contendrá todos los elementos de la solución bajo control de código fuente. De forma predeterminada, esta carpeta es <nombre solución>.root.

Nota:

Si se agrega un solo proyecto al control de código fuente, no se crea una carpeta .root.

El uso de la raíz de la solución ofrece las siguientes ventajas:

  • Reducción del número de mensajes. La raíz de la solución minimiza el número potencial de enlaces de control de código fuente de la solución, de este modo, se reducen los mensajes de usuario al agregar una solución al control de código fuente y al realizar otras tareas.

  • Encapsulación de proyectos. La raíz de la solución garantiza que se puedan identificar fácilmente todos los proyectos que pertenecen a una misma solución, incluso cuando uno o varios residen en particiones o equipos diferentes.

Aunque se puede deshabilitar la creación de la carpeta <nombre solución>.root, no se recomienda esta práctica. Para obtener más información, vea Cómo: Deshabilitar la creación de la carpeta <nombresolución>.root.

El formato de las soluciones de Visual Studio puede ser correcto o incorrecto. Una solución con formato correcto es aquella cuya estructura jerárquica en disco coincide con la existente en el Explorador de soluciones. Todos los proyectos de una solución con formato correcto se almacenan en subcarpetas de la carpeta de la solución en el disco. Si el formato de la solución es correcto al agregarlo al control de código fuente, el complemento de control de código fuente crea una carpeta bajo la carpeta *.root con el fin de incluir en ella las copias maestras del archivo de solución (*.sln) y de los archivos de opciones de usuario de solución (*.suo) correspondientes. Finalmente, el complemento de control de código fuente crea una carpeta bajo la carpeta .sln para cada proyecto adicional en la base de datos de control de código fuente.

Si el formato de la solución no es correcto, el complemento de control de código fuente crea una carpeta para ella y su proyecto inicial. A continuación, las carpetas para cada proyecto adicional se crean al mismo nivel en la carpeta de la solución.

Vistas de soluciones o proyectos

Visual Studio ofrece tres vistas diferentes de las soluciones o proyectos bajo control de código fuente: diseño, control de código fuente y carácter físico. Muchas tareas de control de código fuente son más fáciles de realizar cuando existe una asignación uno a uno entre los elementos individuales de estas vistas. Sin embargo, si se crean soluciones y proyectos y se utiliza la configuración predeterminada de Visual Studio para agregarlos al control de código fuente, es posible que su organización en el disco varíe con respecto a la que aparecen en el Explorador de soluciones y en la base de datos.

La vista de diseño, que aparece en el Explorador de soluciones, es una representación lógica del contenido de una solución o proyecto. Generalmente, la vista de diseño es ordenada y descriptiva. Los archivos innecesarios permanecen ocultos y aquellos procedentes de varias ubicaciones físicas diferentes se incluyen en un contenedor de proyecto único.

La vista de control de código fuente, que aparece en una aplicación independiente, como el Explorador de Visual SourceSafe, también es una representación lógica de una solución o proyecto. Sin embargo, la vista de control de código fuente no es necesariamente un reflejo de la vista lógica.

La vista de carácter físico, que aparece en el Explorador de archivos de Windows, es poco probable que refleje la estructura jerárquica de la vista lógica o de la vista de control de código fuente.

Las siguientes directrices facilitan la obtención de una correspondencia organizativa entre las vistas de diseño, de carácter físico y de control de código fuente de las soluciones y proyectos bajo control de código fuente:

  • Primero, cree una solución en blanco y, a continuación, agréguele los proyectos. Esto facilita el mantenimiento de la relación primaria-secundaria lógica entre una solución y los proyectos almacenados. Al agregar posteriormente la solución al control de código fuente, la vista de control de código fuente y la de diseño reflejarán la jerarquía de la solución en el disco.

  • Asigne a cada solución un nombre único y descriptivo distinto al de los proyectos que contenga.

  • Evite agregar archivos de vínculos a una solución o proyecto bajo control de código fuente.

  • Si es posible, almacene todos los archivos de una solución o proyecto en la misma unidad de disco.

Conexiones y enlaces del control de código fuente

Visual Studio define la conexión como un vínculo de datos activos entre Visual Studio y un servidor de base de datos. Al agregar una solución o proyecto al control de código fuente, el complemento de control de código fuente copia el elemento y todo su contenido del disco a la base de datos. Para cada carpeta que contenga un archivo de solución o proyecto se crea una carpeta de control de código fuente. Una vez agregado el elemento, el complemento de control de código fuente enlaza la copia de trabajo local de la solución o proyecto a la versión correspondiente de la base de datos.

Cada solución bajo control de código fuente tiene como mínimo un enlace de control de código fuente. No obstante, un elemento puede tener varios enlaces y requerir varias conexiones a la base de datos. El número de enlaces y conexiones depende del modo en que se crea inicialmente la solución y de si todos los proyectos y archivos se encuentran guardados o no en la misma partición.

A modo de ejemplo de enlaces y conexiones, se puede pensar en una solución bajo control de código fuente con formato correcto, en la que se incluyen varios proyectos, como una casa en la que existen varias habitaciones. Al construir la casa, se puede instalar una única línea de datos de alta velocidad que vaya desde una de las habitaciones a la calle. Se instalará un enrutador que distribuya los datos a las demás habitaciones a través de un firewall y se pagará a un proveedor de servicios de Internet para tener conexión desde la casa.

En este ejemplo, un enlace de control de código fuente podría representar la línea de datos única creada para la casa. Al abrir una solución bajo control de código fuente, se creará una conexión a través de ese enlace. La conexión establecerá un protocolo de enlace entre la copia de trabajo de la solución en el disco y la copia maestra de la solución en la base de datos.

En aquellos casos en los que el formato de la solución bajo control de código fuente no sea correcto, ésta se puede comparar con una casa en la que cada habitación se conecta a Internet directamente. El costo de Internet será más elevado que en el caso de la casa con una única conexión, los gastos de mantenimiento serán más altos y el cambio de proveedor de servicios de Internet resultará más complicado y llevará más tiempo.

Lo ideal es que cualquier solución y sus correspondientes proyectos compartan un único enlace de control de código fuente. Las soluciones de enlace único son más fáciles de administrar que aquellas con varios enlaces. En estos casos resulta más sencillo:

  • Desconectarse del control de código fuente para trabajar sin conexión.

  • Conectarse a la base de datos tras volver a conectarse a la red.

  • Bifurcarse en un solo paso.

Para crear una solución de varios proyectos con un enlace único, se puede crear una solución en blanco antes de agregar los proyectos pertinentes. Asimismo, se puede seleccionar la opción Crear directorio para la solución en el cuadro de diálogo Nuevo proyecto al crear un par solución/proyecto.

Si se crea un par solución/proyecto en un solo paso y no se selecciona la opción Crear directorio para la solución del cuadro de diálogo Nuevo proyecto (la cual, de forma predeterminada, no se encuentra seleccionada), se creará un segundo enlace al agregar un segundo proyecto a la solución. Para la solución y el proyecto inicial se crea un único enlace. Para cada proyecto adicional se crearán nuevos enlaces.

Terminología relacionada con el control de código fuente

En la documentación de Visual Studio se utilizan determinados términos a la hora de describir las características y los conceptos del control de código fuente. En la siguiente tabla se definen algunos de los términos comunes.

  • Versión base
    Versión de servidor de un archivo de donde se deriva una versión local.

  • Enlace
    Información que establece una correlación entre la carpeta de trabajo de una solución o proyecto existente en disco y la carpeta correspondiente de la base de datos.

  • Bifurcación
    Proceso que consiste en la creación de una nueva versión, o bifurcación, de un proyecto o archivo compartido bajo control de código fuente. Una vez creada la bifurcación, las dos versiones bajo control de código fuente tendrán un historial compartido hasta un punto determinado e historiales divergentes a partir de ese punto.

  • Conflicto
    En la misma línea de código hay dos o más cambios diferentes debido a que dos o más desarrolladores han desprotegido y editado el mismo archivo.

  • Conexión
    Vínculo de datos activos entre un cliente de control de código fuente (por ejemplo, Visual Studio) y un servidor de bases de datos de control de código fuente.

  • Base de datos
    Ubicación en la que se almacenan todas las copias maestras, el historial, las estructuras de proyecto y la información de usuario. Un proyecto siempre se incluye dentro de una base de datos. Asimismo, se pueden almacenar varios proyectos en una sola base de datos y se pueden utilizar varias bases de datos. Repositorio y almacén son otros términos comunes que se emplean para hacer referencia a las bases de datos.

  • Historial
    Registro de cambios realizados en un archivo desde que se agregó inicialmente al control de código fuente. Gracias al control de versiones, se puede volver a cualquier punto del historial para recuperar la versión que existía del archivo en ese momento.

  • Etiqueta
    Nombre definido por el usuario que se adjunta a una versión específica de un elemento bajo control de código fuente.

  • Copia local
    Archivo de la carpeta de trabajo del usuario donde se guardan los cambios hasta que se realiza una protección. A veces se utiliza el término copia de trabajo para hacer referencia a la copia local.

  • Copia maestra
    Versión protegida más reciente de un archivo bajo control de código fuente, en oposición a la copia local que existe en la carpeta de trabajo. Versión de servidor y versión de base de datos son otros términos que se emplean para hacer referencia a la copia maestra.

  • Combinación
    Proceso que consiste en la combinación de las diferencias existentes entre dos o más versiones modificadas de un archivo para obtener una nueva versión de él. La combinación se puede aplicar a versiones diferentes del mismo archivo o a los cambios realizados en una versión de un único archivo.

  • Archivo compartido
    Archivo con versiones que residen en varias ubicaciones del control de código fuente. Copia y acceso directo son otros términos que se emplean para hacer referencia a un archivo compartido.

  • Raíz de la solución
    Carpeta vacía de una base de datos donde se incluyen todos los elementos de una solución bajo control de código fuente. De forma predeterminada, esta carpeta es <nombre solución>.root.

  • Raíz bien unificada
    Contenedor virtual donde se ubican todos los proyectos y archivos de una solución bajo control de código fuente. Por ejemplo [RSU]:\ es la raíz bien unificada de una solución bajo control de código fuente donde se incluyen proyectos ubicados en [RSU]:\C:\Solución\Proyecto1 y [RSU:\D:\Proyecto2.

  • Raíz unificada
    Ruta de acceso al directorio primario correspondiente a todos los archivos y carpetas de trabajo de una solución o proyecto bajo control de código fuente. Por ejemplo, C:\Solución es la raíz unificada de una solución bajo control de código fuente donde se incluyen archivos ubicados en C:\Solución, C:\Solución\Proyecto1 y C:\Solución\Proyecto2.

  • Carpeta de trabajo
    Ubicación donde se almacenan las copias locales de los elementos bajo control de código fuente, normalmente en el propio equipo. Otro término que se utiliza para hacer referencia a la carpeta de trabajo es el de área de trabajo.

Vea también

Tareas

Cómo: Deshabilitar la creación de la carpeta <nombresolución>.root

Referencia

Nuevo proyecto (Cuadro de diálogo)