Comando Preparar para confirmar (Control de versiones de Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

El comando shelve de Control de versiones de Team Foundation (TFVC) almacena un conjunto de cambios pendientes, junto con notas de registro pendientes, un comentario y una lista de elementos de trabajo asociados en un servidor de Azure DevOps sin protegerlos realmente.

Requisitos previos

Si quiere usar el comando shelve para eliminar un conjunto de cambios agregados pendientes de confirmación, debe ser propietario de un conjunto de conjunto de cambios agregados pendientes de confirmación o el permiso Administrar cambios preparados para confirmar debe establecerse en Permitir. Para más información, vea Permisos predeterminados de TFVC.

Sintaxis

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname] [/validate][/noprompt] [/login:username,[password]]
tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] [shelvesetname] itemspec [/validate] [/noprompt] [/login:username,[password]]
tf shelve /delete shelvesetname[;owner] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

Parámetros

Argumentos

Argument Descripción
<commentfile> Especifica una ruta de acceso del sistema de archivos de un archivo desde el que se deben leer los comentarios del conjunto de cambios agregados pendientes de confirmación.
<comment> Especifica el comentario del conjunto de cambios agregados pendientes de confirmación.
<itemspec> Identifica los archivos o carpetas que se van a preparar para confirmar. De forma predeterminada, todos los cambios pendientes en el área de trabajo actual se preparan para confirmar si no se especifica este parámetro. Para más información sobre cómo Team Foundation analiza itemspec para determinar qué elementos están dentro del ámbito, vea Uso de opciones para modificar cómo funciona un comando.
<shelvesetname> Especifica un nombre por el que se puede recuperar el conjunto de cambios agregados pendientes de confirmación del servidor de Azure DevOps. Puede especificar una combinación existente de shelvesetname y owner, pero solo si /replace también se especifica.

Debe proporcionar un valor para este parámetro.
<owner> Identifica el propietario actual o previsto del conjunto de cambios agregados pendientes de confirmación por nombre de usuario. De forma predeterminada, al usuario actual se le asigna la propiedad del conjunto de cambios agregados pendientes de confirmación si no se especifica uno.
<username> Proporciona un valor a la opción /login. Puede especificar un valor de nombre de usuario como DOMAIN\username o username.
<TeamProjectCollectionUrl> Dirección URL de la colección de proyectos que contiene los archivos o carpetas que quiere preparar para confirmar, por ejemplo, http://myserver:8080/tfs/DefaultCollection/.

Opciones

Opción Descripción
/new El estado seleccionado de cada cambio pendiente, tal y como se muestra en el cuadro de diálogo Insertar en el repositorio de Visual Studio, el comentario, los elementos de trabajo asociados, las notas de inserción en el repositorio y el motivo de anulación de la directiva de inserción en el repositorio, se almacenan en el equipo de desarrollo como cambios pendientes hasta que los compruebe. La opción /new elimina los metadatos de la inserción en el repositorio antes de insertar en el repositorio.
/move Quita los cambios pendientes del área de trabajo después de que la operación preparar para confirmar se realice correctamente.
/replace Reemplaza el conjunto de cambios agregados pendientes de confirmación existente por el mismo nombre y propietario que el que especifique.
/delete Elimina el conjunto de cambios agregados pendientes de confirmación especificado. Solo se puede combinar la opción /server con esta opción. Si no incluye la opción /noprompt, aparece un mensaje de confirmación cuando se especifica la opción /delete.
/comment Agrega un comentario especificado que describe los cambios preparados para confirmar.
/recursive Prepara para confirmar todos los elementos de la carpeta de conjuntos de cambios agregados pendientes de confirmación especificados, sus subcarpetas y todos los elementos de la misma si itemspec que proporciona es una carpeta.
/noprompt Suprime las solicitudes de entrada.
/validate Esta opción activa la casilla Evaluar directivas y notas de inserción en el repositorio antes de preparar para confirmar en el cuadro de diálogo Preparar para confirmar - Archivos de origen cuando se abre. Cuando se activa la casilla, el cuadro de diálogo evalúa las directivas de inserción en el repositorio y comprueba que se han rellenado las notas de inserción en el repositorio necesarias. Esta opción es útil cuando otra persona envía los cambios para su revisión e inserción en el repositorio. No es válido cuando se combina con /noprompt.
/login Especifica el nombre de usuario y la contraseña para autenticar al usuario con Azure DevOps Server.
/collection Especifica el nombre de la colección de proyectos.

Observaciones

El comando shelve de la utilidad de línea de comandos tf realiza una copia de seguridad de los cambios pendientes, una lista de elementos de trabajo asociados, notas de inserción en el repositorio en curso y comentarios en un conjunto de cambios agregados pendientes de confirmación en el servidor de Azure DevOps. Un conjunto de cambios agregados pendientes de confirmación es muy similar a un conjunto de cambios que no se confirma en el servidor. Al igual que un conjunto de cambios, cualquier usuario que tenga permisos suficientes puede recuperar un conjunto de conjunto de cambios agregados pendientes de confirmación desde el servidor en un área de trabajo local.

La preparación para confirmar es una alternativa a la comprobación de los cambios pendientes que no se han probado suficientemente. Use la preparación para confirmar cuando quiera interrumpir el trabajo para:

  • Compartir un conjunto de archivos de trabajo locales con otro desarrollador o evaluador sin insertar en el repositorio los cambios en el servidor de control de versiones.

  • Dejar de lado un grupo de cambios pendientes temporalmente sin insertarlos en el repositorio, por lo que en su lugar puede trabajar en un problema de prioridad más alta. Después de completar el trabajo en la tarea de prioridad alta, puede restaurar los cambios preparados para confirmar mediante el comando Recuperar cambios agregados pendientes de confirmación.

Si incluye la opción /move, el comando shelve revierte cada archivo preparado para confirmar a la versión del área de trabajo base que es la última versión recuperada del servidor al área de trabajo actual. En concreto, para todos los elementos que prepara para confirmar, la opción /move:

  • Usa Undo para deshacer los cambios que se han preparado para confirmar. Los archivos que estaban pendientes de adiciones se eliminan del área de trabajo.

  • Recupera las versiones base del área de trabajo de todos los archivos para los que existen ediciones pendientes del servidor en el área de trabajo actual.

  • Marca todos los elementos del área de trabajo actual de solo lectura.

Si incluye la opción /delete, TFVC quita permanentemente el conjunto de cambios agregados pendientes de confirmación especificado del servidor de Azure DevOps.

Para más información sobre cómo usar la utilidad de línea de comandos tf, vea Uso de comandos de control de versiones de Team Foundation.

Ejemplos

En el ejemplo siguiente se crea un nuevo conjunto de cambios agregados pendientes de confirmación en el servidor de Azure DevOps denominado Reflector_BuddyTest, se asigna la propiedad al usuario Pat, se devuelven todos los elementos del área de trabajo actual a la versión más reciente descargada durante la última operación get y se establece un estado de solo lectura:

c:\projects> tf shelve Reflector_BuddyTest;Pat /move

En el ejemplo siguiente se elimina el conjunto de cambios agregados pendientes de confirmaciónnew-feature existente del servidor, se crea un nuevo conjunto de cambios agregados pendientes de confirmación con ese nombre y se conservan todos los cambios pendientes en el área de trabajo actual:

c:\projects> tf shelve new-feature /replace

En el ejemplo siguiente se crea un conjunto de cambios agregados pendientes de confirmación denominado HelloWorld_TestMe que incluye todos los cambios pendientes en todos los archivos .cs de la carpeta de trabajo C:\projects y sus subcarpetas:

c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive

En el ejemplo siguiente se elimina el conjunto de cambios agregados pendientes de confirmación HelloWorld_24:

c:\projects> tf shelve HelloWorld_24 /delete