Detectar archivos modificados Perforce sin abrir
-
06-07-2019 - |
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?
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:
- 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.
- Archivos presentes en su espacio de trabajo, pero que faltan en el almacén. De forma predeterminada, estos archivos se abren para agregarlos.
- Archivos modificados en su espacio de trabajo que no están abiertos para editar. De forma predeterminada, estos archivos se abren para editar.
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.
Aquí hay una solución de Unix que me ha funcionado muy bien.
¿Cómo encontrar archivos sin seguimiento en un árbol de Perforce? (análogo del estado de svn)