Me siento obligado a agregar una respuesta, ya que la respuesta aceptada, y algunas de las otras, tienen lo que considero un problema importante: no entienden la diferencia entre un comando de consulta de solo lectura y un comando que hace cambios
No espero ningún crédito para esta respuesta, pero espero que ayude a otros a evitar perder el tiempo y cometer errores siguiendo la respuesta incorrecta pero en mi humilde opinión aceptada.
--- + Breve
Probablemente la forma más conveniente para encontrar todos los archivos sin seguimiento en un espacio de trabajo es forzosamente p4 reconcile -na
.
-a
dice "dame archivos que no están en el repositorio, es decir, que deberían agregarse".
-n
dice "no hacer cambios", es decir, una ejecución en seco. (Aunque los mensajes pueden decir "abierto para agregar", mentalmente debe interpretar eso como "se abriría para agregar si no -n")
Probablemente la forma más conveniente de encontrar todos los cambios locales realizados sin conexión, no solo los archivos que pueden necesitar ser agregados, pero también los archivos que podrían necesitar ser eliminados, o que han sido modificados sin abrirse para su edición a través del p4 edit
, es p4 reconcile -n
.
Varias respuestas proporcionan secuencias de comandos, a menudo con p4 fstat
. Si bien no he verificado todos esos scripts, a menudo utilizo scripts similares para compensar las deficiencias de los comandos forzados, como p4 reconcile -n
, p. Ej. a menudo me parece que quiero rutas locales en lugar de vías de acceso de depósito de Perforce o de espacio de trabajo.
--- + ADVERTENCIA
p4 status
NO es la contrapartida de los comandos de estado de otros sistemas de control de versiones.
p4 status
NO es una consulta de solo lectura. p4 status
realmente encuentra el mismo tipo de cambios que p4 reconcile
y los agrega al repositorio. p4 status
no parece tener una opción de ejecución en seco -n
como p4 reconcile
.
Si lo hace p4 status
, mire los archivos y piense "Ah, no los necesito", entonces tendrá que p4 revert
si desea seguir editando en el mismo espacio de trabajo. O bien, los cambios que p4 status
agregaron a su conjunto de cambios se verificarán la próxima vez.
Parece que hay pocas o ninguna razón para usar p4 status
en lugar de p4 reconcile -n
, excepto por algunos detalles del espacio de trabajo local frente al nombre de ruta del almacén.
Solo puedo imaginar que quien eligió 'estado' para un comando que no sea de solo lectura tenía un comando limitado del idioma inglés y otras herramientas de control de versiones.
--- + P4V
GUI
En la GUI p4v
, el comando de conciliación encuentra cambios locales que pueden necesitar ser añadido, eliminado o abierto para su edición. Afortunadamente no los agrega a una lista de cambios por defecto; pero aún así debería tener cuidado de cerrar la ventana de conciliación después de inspeccionarla, si no desea confirmar los cambios.
No me puedo imaginar cómo es que a la herramienta SCM corporativa más utilizada le falta esta funcionalidad. Probablemente todos sus desarrolladores estén usando solo la GUI. – sorin
¡Oh, por gritar en voz alta! El 'status p4 'aceptado no solo ENCUENTRA archivos no rastreados, realmente COMIENZA A SEGUIRLOS. Es decir. 'p4 status' no es una consulta de solo lectura, como uno sospecharía del nombre, sino que en realidad es un comando que cambia cosas, no los archivos del espacio de trabajo. Esto NO es lo que un comando de estado debería hacer, y NO lo que hace 'svn status'. Lo más parecido que puedo encontrar a 'svn status' es' p4 reconciliar -na' - -a para decir "archivos que deberían agregarse", -n para decir "en realidad no cambia nada". /// Originalmente dije algo mucho más fuerte. –
He revivido http: // stackoverflow.com/questions/9642531/what-is-the-p4-command-equivalent-to-something-like-svn-status, que se marcó incorrectamente como un duplicado de http://stackoverflow.com/questions/9272/how- to-find-untracked-files-in-a -force-tree-analogue-of-svn-status, como nueva pregunta [(¿Cuál es el comando p4 equivalente a algo así como git/hg/bzr/svn status? (Sugerencia: no 'p4 status')] (http://stackoverflow.com/questions/39937962/what-is-the-p4-command-equivalent-to-something-like-git-hg-bzr-svn-status-hint) , y lo contesté yo mismo. Mejor recibido –