Tipo de conflicto TFS: Archivo de escritura-Un archivo de escritura con el mismo nombre existe localmente


Estoy tratando de obtener lo último de mi proyecto. Cuando lo hago, TFS me muestra que tengo conflictos en cada archivo en ese proyecto. Cada archivo tiene el mismo conflicto: Conflict Type: Writable File - A writable file by same name exists locally.

La resolución que me da es "Sobrescribir Archivo o Carpeta Local" pero tengo que hacer esto uno por uno.

¿Por qué TFS cree que tengo conflictos (no he cambiado ningún archivo)?

Author: dev.e.loper, 2012-02-13

3 answers

La respuesta de Grant es excelente para resolver múltiples conflictos.

En cuanto a por qué tiene esos conflictos, en términos generales, su cliente TFS ha detectado que existe un archivo localmente que no está administrado por TFS, pero está tratando de realizar una operación get que sobrescribiría ese archivo.

Si está siguiendo un flujo de trabajo de desarrollo normal (y no va y edita archivos fuera de su editor), la fuente más común de conflictos de escritura es de shelvesets. Si usted tenía que colocar un complemento en un archivo, luego tenía que deshacer ese complemento (ya sea explícitamente o porque dejó de lado el cambio y deseleccionó el botón conservar cambios pendientes), el archivo es no eliminado. (Esto es para evitar la pérdida de datos - no es raro que desee crear un archivo, pero no lo han registrado en el control de código fuente.)

Ahora si usted (o alguien más) fuera a comprobar en ese conjunto de estanterías (ya sea a través de la creación de una compilación de ese conjunto de estanterías, o de gated check-in, o porque su revisor de código se registró en su shelveset directamente), entonces cuando haga un get latest, su cliente TFS detectará que el archivo todavía existe localmente y, por lo tanto, tendrá un conflicto de escritura.

Esto puede no ser particularmente obvio en el caso de check-in cerrado. Cómo funciona realmente el check-in cerrado es cuando intentas registrar tus cambios, tu check-in se convierte en un shelveset. El agente de compilación de TFS intentará construir su conjunto de estanterías, y si la compilación tiene éxito, luego registrará ese conjunto de estanterías en su nombre. Si la compilación falla, el conjunto de estanterías permanece y puede desentrañar para corregir los errores de compilación.

Por esta razón, es importante ejecutar la aplicación de notificación de compilación cuando esté utilizando el registro cerrado, lo que le permitirá "conciliar" sus cambios una vez que se envíen. Reconciliar su check - in simplemente hará un get del check-in que fue enviado por el servidor de compilación, pero evitará conflictos ya que entiende el contexto de los cambios que están en su disco local. (Comparará el contenido de su disco local con el contenido del servidor.) Si no elige reconciliarse, desafortunadamente, tendrá conflictos de escritura en los archivos que se agregaron.

(Tenga en cuenta que este escenario no producirá un conflicto en la próxima versión de TFS - si no hay diferencias de contenido, TFS no producirá un conflicto.)

 14
Author: Edward Thomson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-13 16:03:39

El cuadro de diálogo de resolución de conflictos de Visual Studio 2010 admite selección múltiple.

Si selecciona el primer conflicto, mantenga pulsado Shift y luego seleccione el último conflicto, la resolución "Sobrescribir Archivo o carpeta local" se aplicará a todos los conflictos seleccionados.

También puede utilizar la herramienta de línea de comandos tf resolve /auto:OverwriteLocal para resolver los conflictos.

 26
Author: Grant Holliday,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-08 17:41:27

Debe tener todos los Derechos (Control total) sobre un archivo o carpeta local específica. Compruébelo. Si no es cierto, debe eliminar todos los archivos locales, cambiar los derechos y luego obtener los archivos más recientes del servidor.

 0
Author: Dario,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-28 13:47:16