visual traduccion tool meaning helix perforce

perforce - traduccion - ¿Puedes "ignorar" un directorio en P4V?



perforce visual merge tool (6)

A partir de la versión 2012.1, Perforce admite la variable de entorno P4IGNORE . Esto le permite especificar archivos y directorios para ignorar cuando usa los comandos que buscan o agregan nuevos archivos ( p4 add , p4 status , y p4 reconcile ).

Para usar un archivo de ignorar, cree un archivo en la raíz de su área de trabajo y asígnele un nombre significativo. La convención parece ser algo así como .ignore o .p4ignore , pero cualquier cosa servirá (utilicé p4ignore.txt para poder editarlo con un simple doble clic). Luego llénelo con sus reglas de ignorar. Lo siguiente ignorará los desechos no deseados generados por Visual Studio:

# directories bin obj # files *.suo *.user

Después de haber creado este archivo, configure la variable de entorno P4IGNORE para que apunte a él. En la línea de comando, escribe algo como lo siguiente:

p4 set P4IGNORE=C:/somepath/p4ignore.txt

¡Asegúrate de usar una ruta absoluta! La documentación de Perforce no especifica esto y mi primer intento no funcionó (en Windows de todos modos) porque no especifiqué una ruta absoluta.

Después de hacer esto, cualquier intento de agregar archivos o directorios que estén en la lista de ignorar será rechazado y verá una advertencia como esta (que le dan la opción de suprimir):

Si está utilizando una versión del servidor Perforce anterior a 2012.1, aún puede hacerlo en las especificaciones de su cliente. La sintaxis de tus reglas de exclusión está un poco desajustada. Lo que quieres es esto:

-//depot/Foo.../*.user //Client/Foo.../*.user -//depot/Foo...bin/... //Client/Foo...bin/... -//depot/Foo...obj/... //Client/Foo...obj/...

Observe las barras que faltan después de "Foo" y antes de "bin" y "obj".

Usamos Visual Studio, que genera muchos directorios bin y obj . Cuando uso la función "Reconcile Offline Work" de P4V , estos aparecen en la lista "Archivos locales no en depósito".

Me gustaría excluirlos. Encontré esta pregunta , pero eso habla de archivos, y cuando intento lo que sugiere (agregando lo siguiente a mi vista del área de trabajo), no funciona :

//depot/Foo/... //Client/Foo/... -//depot/Foo/.../*.user //Client/Foo/.../*.user -//depot/Foo/.../bin/... //Client/Foo/.../bin/... -//depot/Foo/.../obj/... //Client/Foo/.../obj/...

En realidad, tampoco parece funcionar para los archivos: los archivos foo.csproj.user aún se muestran en la lista.

¿Puedo excluir directorios de P4V? ¿Si es así, cómo? ¿Qué estoy haciendo mal?


Continuaría con el trabajo sin conexión de Reconcile y haré todo menos el envío. Antes del envío, haga lo siguiente:

p4 revertir //Client/Foo/.../*.user

p4 revertir // Cliente / Foo /.../ bin / ...

p4 revertir // Cliente / Foo /.../ obj / ...

No es automático, pero eso es lo mejor que puedo pensar en este momento.


Esto funciona genial para mí:

//depot/... //my_workspace_name/... -//depot/.../.git/... //my_workspace_name/.../.git/... -//depot/.../xcuserdata/... //my_workspace_name/.../xcuserdata/... -//depot/.../xcschemes/... //my_workspace_name/.../xcschemes/... -//depot/.../xcdebugger/... //my_workspace_name/.../xcdebugger/...


Esto puede no ser relevante, pero si hay espacios en cualquiera de sus rutas, debe asegurarse de que los haya encerrado correctamente en "", pero no encierre el - dentro de las comillas.


Hay una manera de hacerlo directamente en Perforce:

  • Menú de conexión
  • Editar espacio de trabajo actual ...

Navega por el árbol del proyecto. Haga clic derecho en el archivo o carpeta. Elija incluir o excluir el archivo, la carpeta, el árbol completo.


Respuesta actualizada : Esto ha sido algo complicado en el pasado, porque no había una forma incorporada de excluir un directorio de un comando Perforce. Desde 2012 esto ha cambiado. Puede echarle un vistazo a un buen artículo sobre este problema .

A partir de 2012.1, la variable de entorno P4IGNORE se puede configurar para designar un archivo que se utilizará para excluir archivos de Perforce. Tanto el servidor Perforce (p4d) como el cliente (p4, P4V) deben ser 2012.1 o superior. El propósito de P4IGNORE es ignorar los archivos cuando se agregan nuevos archivos al almacén y se reconcilian los espacios de trabajo. Al igual que las características comparables en otros sistemas de control de versiones, P4IGNORE no se puede utilizar para ignorar los archivos que ya están bajo el control del repositorio.

P4Eclipse administra los archivos .p4ignore en sus propios términos. (ver el manual sobre este punto here )

Usar vistas de cliente para excluir archivos y directorios:

El método tradicional para excluir archivos y directorios en Perforce es usar asignaciones de cliente exclusivas. Vea la referencia de comando para Vistas para la documentación completa. Vista de ejemplo:

Ver:

//depot/... //test_ws/depot/... -//depot/dir/etc/... //test_ws/depot/dir/etc/...

Esta vista evitará que los archivos en dir / etc se agreguen al depósito. Si intenta excluir el directorio de las consultas de solo lectura, use la sintaxis del cliente o relativa.

$ p4 files //depot/dir/etc/... //depot/dir/etc/foo#1 - add change 1186 (text) //depot/dir/etc/bar#1 - add change 1186 (text) $ p4 files //test_ws/dir/etc/... //test_ws/test_ignore/ignoredir/... - file(s) not in client view. $ cd dir/etc $ p4 files ... ... - file(s) not in client view.

Alternativamente, puede usar comandos de shell para filtrar su resultado como lo desee.

p4 files //depot/dir/... | awk -F# ''{print $1}'' | grep -v "//depot/dir/etc/" | p4 -x - fstat

que ejecuta p4 fstat en todos los archivos en " //depot/dir/ ", a excepción de los archivos en " //depot/dir/etc/ ". Esta exclusión de directorio se logra al enumerar todos los archivos y luego usar grep para eliminar esos archivos en el directorio que se va a excluir. La barra inclinada final en " //depot/dir/etc/ " es necesaria para evitar que coincidan los directorios en " //depot/dir/ " que comienzan con "etc" (por ejemplo, " //depot/dir/etc2009 ").

Nota:

El comando awk supone que no hay nombres de archivo que contengan el carácter "#". El comando grep también puede leer sus patrones desde un archivo, lo cual es útil si necesita excluir múltiples directorios. Usamos los indicadores ''-x -'' con el comando p4 para usar la entrada como argumentos para el comando correspondiente; vea las opciones globales de Perforce Command Line para más información.