varios una teclado renombrar pasos parte para nombre masivamente formas documento con como comando carpetas carpeta cambiar archivos archivo perforce

perforce - una - renombrar archivos masivamente cmd



En Perforce, ¿puedes cambiar el nombre de una carpeta con el mismo nombre pero en mayúsculas? (6)

¿Puedo cambiar el nombre de una carpeta en Perforce desde // depot / FooBar / a // depot / Foobar / ?

He intentado esto cambiando el nombre de // depot / FooBar / a // depósito / Temp / a // Depot / Foobar / pero el resultado final termina igual que // depot / FooBar / .


No estoy seguro de los directorios, pero hemos tenido este problema con los archivos. Para solucionarlo, tenemos que eliminar el archivo, enviar ese cambio, luego p4 agregar el archivo con el caso correcto y enviar el segundo cambio. Una vez hecho esto, los usuarios de Unix que han sincronizado el archivo de caso incorrecto tienen que sincronizar p4, luego eliminar físicamente el archivo (porque p4 no actualizará el caso) y luego sincronizar p4 -f el archivo.

Nuestro servidor está en Windows, por lo que podría marcar la diferencia.


Supongo que trata los archivos y las carpetas de la misma manera.

Para archivos: depende (si tiene un servidor Windows o Unix). Tenemos este problema con nuestro servidor forzado de Windows (que versiones nuestro código de Java), donde muy ocasionalmente alguien verificará en un archivo con un problema de caso (esto causa errores de compilación porque es Java). La única forma de solucionar esto es eliminar el archivo y volver a enviarlo con el estuche correcto.


Una vez que está en Perforce, el caso permanece establecido. Como mencionó Johan, puede borrar, establecer el nombre correctamente y agregarlo nuevamente. Sin embargo, hay un ligero problema ...

Si alguien más (que ejecuta Windows) ya ha sincronizado la versión con carcasa incorrecta, cuando vuelva a sincronizar la correcta, no cambiará la carcasa de su PC. Esta es una peculiaridad del sistema de archivos de Windows que reconoce el caso, pero sigue siendo fundamentalmente independiente del caso.

Si una cantidad de usuarios se sincronizaron, y no es conveniente hacer que también eliminen del cliente (y destruyan las carpetas de sus máquinas), entonces puede recurrir a una oscura y sucia técnica de Perforce llamada "Cirugía de Checkpoint". No es para los pusilánimes, pero haces esto:

  1. Detenga su servidor, tome un punto de control.
  2. Usando su editor de texto favorito que puede manejar archivos de varios megabytes, busque y reemplace todas las ocurrencias del nombre del caso antiguo por el nuevo. Por supuesto, también puedes usar un script.
  3. Reproduzca su archivo de punto de control para recrear los metadatos de la base de datos de Perforce.
  4. Reinicia tu servidor.

Esto afectará a todas las especificaciones del cliente del usuario de forma transparente, por lo que cuando se sincronicen obtendrán el caso correcto como por arte de magia.

Suena peludo, pero he tenido que hacerlo antes y siempre y cuando te cuides, realices una prueba, corras, etc., entonces todo debería estar bien.


La pregunta tiene más de 3 años, pero me encontré con un problema como este mientras hacía una importación de Subversion en Perforce y pensé que la información que obtuve podría ser útil para algunos. Es similar al método de borrado, pero te ayuda a conservar la historia. Utiliza el comando duplicado que puede no haber estado disponible en ese momento para conservar el historial. El proceso básicamente es:

  1. Duplicar a la ubicación temporal.
  2. Borre la ubicación que acaba de duplicar.
  3. Duplicar desde la ubicación temporal a la ubicación del caso renombrado.
  4. Borre la ubicación temporal.

A través de esto, conserva el historial de cambios de archivos, pero también los incorpora a la nueva ruta. Lamentablemente, no habrá un historial de cambio de caso de ruta, pero eso parece ser inevitable. De forma similar a otros métodos mencionados aquí, los usuarios necesitarán renombrar manualmente los directorios en su área de trabajo o eliminar y volver a sincronizar para obtener el nuevo nombre de ruta.

Además, P4V almacena en caché las rutas que muestra en el árbol, por lo que, una vez hecho esto, puede aparecer como el nombre anterior. Sin embargo, un comando p4 dirs mostrará el nuevo caso.


Creo que debería eliminar el caché de Perforce, para que se pueda mostrar su modificación.

Puede cambiar el nombre con ABC renombrar a abc_TMP, luego abc_TMP cambiar el nombre a abc, luego borrar la caché.

Setps para borrar el caché:

  1. Abra la carpeta de inicio del usuario de windows (en windows7 ==> C: / Users /)
  2. Busque la carpeta llamada ".p4qt"
  3. Cambie el nombre de la carpeta a "old.p4qt"
  4. Lanzamiento Perforce, ¡ahora todo funciona!

NOTA: estos pasos descansarán su configuración predeterminada.