2008-12-17 18 views
14

¿Cómo puedo obtener mi lista de cambios local y enviarla a otra persona en Perforce? Más específicamente, me gustaría enviar cambios no enviados desde una lista de cambios local pendiente a la lista de cambios pendiente de otro usuario.¿Cómo puedo tomar mi lista de cambios local y enviársela a alguien más en Perforce?

+1

Tendrás que ser más específico. ¿Parece que quiere enviar cambios no enviados de una lista de cambios local pendiente a la lista de cambios pendiente de otro usuario? ¿Es eso correcto? – ninesided

+0

sí, @ninesided –

Respuesta

14
set P4DIFF=C:\cygwin\bin\diff.exe 
p4 diff -du -c 12345 > patch-to-head.diff 

# On Other machine 
patch -p1 < patch-to-head.diff 

puedo estar equivocado en el env var allí, y es posible que tenga que hacer algunas composturas en el archivo diff, pero la idea general es que se genera un GNU Diff unificado, que se puede enviar a las personas que puede usar el parche de GNU para aplicarlo.

+2

Al menos con el servidor 2008.2 y 2010.1, "p4 diff" no tiene un distintivo -c. Todavía no he encontrado una forma de ejecutar "p4 diff" en los archivos de una lista de cambios pendiente en particular. –

+1

Sí, tenemos una versión pirateada de p4 que usamos, es por eso que no estaba seguro con la sintaxis - lo siento :( –

+1

Es probable que desee que ambos usuarios se sincronicen con la misma lista de cambios, pero como solo aplica sus cambios, podría – idbrii

2

No estoy seguro exactamente de lo que está tratando de hacer, pero es posible que también desee considerar P4_Shelve. Le permite colocar una carga de cambios pendientes en un estante virtual, y luego recuperarlos nuevamente más tarde. Dependiendo de lo que quiere lograr exactamente enviando una lista de cambios a otra persona, esto podría proporcionar una parte de la respuesta.

Vinculado desde el sitio P4Shelve es P4Tar, que también puede ser útil, esto hace todo el embalaje en el lado del cliente por lo que solo le queda un archivo que puede enviar a otra persona.

+0

Mi respuesta fue reemplazada por la de Tim Danner, ya que Perforce ahora es compatible con la característica de archivado directamente. –

12

P4 ahora tiene soporte nativo para la operación de estantería en 2009.2. Tanto el cliente como el servidor deben ser al menos 2009.2 para usar esto.

http://blog.perforce.com/blog/?p=1872

-1

Perforce 2016, OSX. Diff de lista de cambios pendientes:

mac:src user$ cl=123456 && p4 diff -du $(p4 files @=$cl | sed s/#.*//) > $cl.diff 

de salida: 123456.diff

al aplicar el parche:

mac:src user$ patch -p0 < 123456.diff 
1

dejar de lado su YOURCHANGE lista de cambios pendientes:

p4 shelve [-c YOURCHANGE] 

El otro usuario hace entonces :

p4 unshelve -s YOURCHANGE [-c THEIRCHANGE] 

En cualquier caso, se puede omitir el argumento "-c" para usar la lista de cambios predeterminada. En el caso p4 shelve, significa que se creará una nueva lista de cambios y se archivarán los archivos en su lista de cambios predeterminada; en el caso p4 unshelve significa que los archivos archivados de su lista de cambios no se incluirán en la lista de cambios predeterminada del otro usuario.

Cuestiones relacionadas