2011-01-26 36 views
25

Estoy usando Perforce P4V, la herramienta gráfica, para interactuar con mi servidor Perforce aquí en el trabajo. Tengo un proyecto que agregué al almacén y lo borré accidentalmente de mi área de trabajo en mi computadora local, el problema es que cuando uso la acción Obtener revisión (el equivalente GUI de sincronización), los archivos no se actualizan, es decir, puedo ver los archivos en el servidor que quiero, pero no se sincronizarán correctamente con mi PC local. Me frustra que los archivos no se extraigan del servidor. Lo que supongo que debería estar sucediendo es que si los archivos se alteran de todos modos en mi PC local, debería ser capaz de tomar la revisión del servidor, que luego saca los datos a mi PC local y sobrescribe los cambios localmente en mi PC, pero eso no está sucediendo. ¿Se me escapa algo?Perforce no sincronizar archivos correctamente

Respuesta

2

Gracias chicos, hice lo que sugirieron, pero seguí recibiendo el mensaje de que los archivos todavía estaban "abiertos para editar y no se pueden eliminar", al intentar "Eliminar del área de trabajo". Además, se devuelve "Get Revision" con un mensaje que dice "no se actualizaron los archivos". Lo que terminé teniendo que hacer fue "Revertir" los archivos, luego hacer la acción "Obtener revisión", que resolvió el problema. Gracias a los dos por su ayuda.

+7

No utilice las respuestas para comentar. Usted tiene el representante, deje un comentario (s). Eche un vistazo a [esta discusión] (http://meta.stackexchange.com/q/74194/4228). – raven

+1

@raven - no olvide que el OP siempre puede comentar las respuestas a sus propias preguntas de todos modos. – ChrisF

10

No se actualizarán porque según Perforce aún tiene los archivos en su máquina local.

Debe utilizar la opción "Obtener revisión ..." y activar la opción "Forzar operación".

Esto le dirá a Perforce que actualice todos los archivos, incluso aquellos de los que cree que tiene la versión más reciente.

52

Perforce realiza un seguimiento de los archivos que cree que tiene en su estación de trabajo local. Si elimina esos archivos localmente (y no "dice" forzosamente sobre ello), entonces Perforce seguirá creyendo que tiene esos archivos. Si desea recuperarlos, debe "forzar la sincronización" de los archivos. En p4v, puede usar el elemento "Obtener revisión ..." y en el cuadro de diálogo siguiente, puede marcar la casilla "forzar operación" para indicarle a Perforce que le proporcione todos los archivos, independientemente de si Perforce cree que los necesita.

Solo para completar la información, si alguna vez desea eliminar los archivos localmente, puede hacerlo a través de p4v seleccionando el elemento "Eliminar del área de trabajo". Si lo hace, eliminará los archivos localmente y le indicará a la fuerza que ya no tiene esos archivos, de modo que la próxima vez que realice la sincronización, esos archivos se recuperarán del servidor.

+1

Agregando a la respuesta superior - la forma de hacerlo a través de la interfaz de línea de comandos es hacer una 'p4 sync -f' en el archivo o la ruta que está tratando de sincronizar (como se menciona en @Greenish a continuación). –

+1

Incluso con el indicador de fuerza, a menudo no funciona, lo que hace para mí es revertir los nuevos archivos locales, y luego forzar la sincronización –

8

"Obtener revisión" actualizará solo los archivos que no se abren (desprotegidos) incluso cuando se habilita "Forzar operación". Debería revertir todos los archivos marcados como desprotegidos en ese espacio de trabajo, y luego usar "Obtener revisión" con "Forzar operación"

+0

¿Por qué no impide forzosamente que el usuario obtenga la revisión de los archivos revisados? –

8

Como otras personas han mencionado, una solución es hacer una "sincronización forzosa" de todo el depósito que es básicamente sobreescribiendo todo, desde el servidor a tu local. La desventaja de esto es que podría tomar mucho tiempo terminar si está trabajando en un gran depósito.

Otra alternativa es comparar su espacio de trabajo local con el servidor, luego solo forzar la sincronización de los archivos que faltan en su espacio de trabajo.

p4 diff -sd //Depot/path/… | p4 -x – sync -f 

opción -sd: Mostrar sólo los nombres de los archivos no abiertos que faltan en el espacio de trabajo del cliente, pero presente en el depósito.

Hay más opciones (sa/se/etc.) Disponibles si -sd no es lo que necesita. ver here.

créditos para el comando va al this blog.

-1

Revise el archivo, cámbielo un poco y luego reviértalo. Perforce reemplazará el archivo local con la última revisión.

Cuestiones relacionadas