Trabajar con SubversionWorking with Subversion

Como se ha mencionado anteriormente en este artículo, Subversion es el sistema de control de versiones centralizado que permite extraer del repositorio una única copia maestra de los datos centralizados.As mentioned earlier in this article, Subversion is the centralized version control system that enables you to check out a single master copy of the centralized data. A diferencia de Git, la extracción de un repositorio de Subversion no clona la totalidad del repositorio, sino que solo toma una instantánea en ese momento dado.In contrast to Git, checking out a Subversion repository does not clone the entire repository, it only takes a snapshot at that point in time.

Subversion usa un modelo Copiar-Modificar-Combinar para permitir que los usuarios trabajen simultáneamente en el mismo repositorio.Subversion uses a copy-modify-merge model to allow users to work on the same repository simultaneously. Esto significa que cada usuario crea una copia local, o de trabajo, de los datos centralizados en la que luego puede trabajar de forma independiente.This means that each user creates a local, or working, copy of the centralized data, which they can then work on independently. Los cambios en las copias de trabajo de los usuarios se combinan de forma cronológica.The changes to users working copies are merged in a chronological fashion.

Por ejemplo, imagine que el usuario A y el usuario B extraen una copia del repositorio remoto y cada uno modifica archivos.For example, imagine that User A and User B both check out a copy from the remote repository and they each modify files. El usuario A termina las modificaciones y las confirma de forma remota.User A finishes the modifications and commits them remotely. Antes de que el usuario B confirme su trabajo, tiene que actualizar su copia de trabajo con los cambios del repositorio remoto, es decir, mediante la combinación de los cambios del usuario A.Before User B commits their work, they will have to update their working copy with changes from the remote, thereby merging in User A's changes.

En las siguientes secciones se analiza cómo usar Subversion para el control de versiones en Visual Studio para Mac.In the sections below we will explore how Subversion can be used for version control in Visual Studio for Mac.

En la imagen siguiente se ven las opciones proporcionadas en el elemento de menú Control de versiones de Visual Studio para Mac:The image below illustrates the options provided by Visual Studio for Mac by the Version Control menu item:

Elemento de menú Control de versiones

En las secciones siguientes se explica cada opción más detalladamente.The sections below will explain each option in more detail.

Extraer del repositorio...Checkout...

Antes de empezar a usar un repositorio remoto de Subversion, debe extraer el repositorio para crear una copia local, o de trabajo, de ese directorio en el equipo local.Before starting to use a remote Subversion repository, you will need to check out the repo to create a local, or working, copy of that directory on your local machine.

Para obtener más información sobre el uso de la característica Extraer del repositorio de Visual Studio para Mac, siga los pasos de la sección Configuración de un repositorio de Subversion.To find out about using the Checkout feature in Visual Studio for Mac, follow the steps in the Setting up a Subversion repository section.

Actualizar soluciónUpdate solution

Cuando se usa un repositorio remoto, es importante recordar que otros usuarios pueden estar modificando archivos, lo que convertiría en obsoleta la copia de trabajo.When using a remote repository, it is important to remember that other users may be modifying files, making your working copy outdated. Para evitarlo, siempre se recomienda incorporar los cambios desde el repositorio en la solución antes de empezar a trabajar y antes de confirmar.In anticipation of this, it is always recommended to pull any changes from the repository into your solution before starting work, and before committing. Para ello, seleccione el elemento de menú Control de versiones > Actualizar solución.To do this, select the Version Control > Update Solution menu item.

Revisar solución y confirmarReview solution and commit

Para revisar los cambios en los archivos, use las pestañas Cambios, Culpar, Registro y Combinar de cada documento, como se muestra a continuación:To review changes in files, use the Changes, Blame, Log, and Merge tabs on each document, as illustrated below:

Pestañas de Control de versiones

Revise todos los cambios de un proyecto al ir al elemento de menú Control de versiones > Revisar solución y confirmar:Review all changes in a project by browsing the Version Control > Review Solution and Commit menu item:

Revisar solución

Esto permite ver todos los cambios de cada archivo de un proyecto con la opción Revertir, Crear revisión o Confirmar.This allows viewing all the changes in each file of a project with the option to Revert, Create Patch, or Commit.

Para confirmar un archivo en el repositorio remoto, haga clic en Confirmar..., escriba un mensaje de confirmación y confirme con el botón Confirmar:To commit a file to the remote repository, press Commit..., enter a commit message, and confirm with the Commit Button:

Confirmación de un archivo

Con esto se envían los cambios al repositorio, donde crean la nueva revisión de todas las modificaciones.This will send the changes to the repository where they create the new revision of all your modifications.