Pregunta

Estoy tratando de encontrar una manera de detectar archivos que no están abiertos para edición pero que, sin embargo, se han modificado localmente. p4 fstat devuelve un valor headModTime para cualquier archivo dado, pero este es el tiempo de cambio en el almacén, que no debe ser igual al stat última hora modificada.

Espero que exista una operación más ligera que hacer una copia de seguridad del archivo original, forzar una sincronización del archivo y luego ejecutar un diff. Ideas?

¿Fue útil?

Solución

De: http: // respuestas. perforce.com/articles/KB/3481/?q=disconnected&l=en_US&fs=Search&pn=1

Vea el paso 2 específicamente:


2. A continuación, abra para " editar " cualquier archivo que haya cambiado:

p4 diff -se //myclient/... | p4 -x - edit

p4 diff -se devuelve los nombres de los archivos de depósito cuyo archivo de cliente correspondiente difiere de alguna manera de los clientes #have revision.

Otros consejos

Esta pregunta SO ofrece una manera de hacer esto en el GUI P4V:

  

En la versión de P4V de enero de 2009, puede hacer clic con el botón derecho en cualquier carpeta en su árbol de espacio de trabajo y hacer clic en "reconciliar el trabajo fuera de línea ..."

     

Esto procesará un poco y luego mostrará una vista de árbol dividido de los archivos que no están desprotegidos pero que tienen diferencias con la versión de depósito, o que no están desprotegidos en absoluto. Incluso puede haber algunas otras categorías que menciona.

     

Puede hacer clic con el botón derecho en los archivos en esta vista y verificarlos, agregarlos o incluso revertirlos.

EDITAR más tarde:

En el " Conciliar ... " ventana, puede hacer clic en 'Conciliación avanzada' y se le presentará una ventana de diferencia de jerarquía de carpetas de dos paneles que es especialmente útil para encontrar los archivos que necesita agregar.

PROS: toda esta función P4V es más fácil de usar que la versión de línea de comandos (porque permite una granularidad máxima al seleccionar qué conciliar)

CONTRAS: es una necesidad urgente de una lista similar a subversion / git / hg .ignore , para evitar la molestia de omitir manualmente todos los dll y otros cruft en sus proyectos.

A partir de Perforce versión 2012.1, use los comandos de línea de comando p4 status y p4 reconcile

http://www.perforce.com/perforce/ r12.2 / manuales / cmdref / status.html

  

El comando p4 status encuentra archivos sin abrir en el espacio de trabajo de un cliente y detecta los siguientes tres tipos de inconsistencias entre su espacio de trabajo y el depósito:

     
      
  1. Archivos presentes en el almacén, presentes en su lista de favoritos, pero que faltan en su espacio de trabajo. Por defecto, estos archivos se abren para   eliminar.
  2.   
  3. Archivos presentes en su espacio de trabajo, pero que faltan en el almacén. De forma predeterminada, estos archivos se abren para agregarlos.
  4.   
  5. Archivos modificados en su espacio de trabajo que no están abiertos para editar. De forma predeterminada, estos archivos se abren para editar.
  6.   

http://www.perforce.com/perforce/ r12.1 / manuales / cmdref / reconcile.html

Del artículo desconectado en funcionamiento, usando p4win también puede seleccionar la carpeta / archivos en cuestión y seleccionar 'menú de archivo- > más- > verificar consistencia' que básicamente hace 'p4 diff -se' y 'p4 diff -sd 'y solicita al usuario que resuelva las inconsistencias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top