Perforce (p4v): twig simple de crear / insert / fusionar para el desarrollador de git

Fondo

Vengo de un background git , y lo he estado usando durante años. Antes de eso, utilicé la subversión durante varios años y tuve que usar ocasionalmente CVS.

Pregunta

Estoy comenzando un proyecto de gran capacidad y quiero crear una twig de características para que:

  • No impacto trunk / mainline / master.
  • Puedo hacer una copy de security de mi trabajo al final del día en el server remoto.

Con una herramienta como git , esto fue bastante fácil:

 git checkout -b my_branch # make some edits git add -u git commit git push 

¿Cómo logro lo mismo (más o less) a la fuerza, usando la interfaz de la command-line ? Aparentemente primero tengo que usar la p4 branch para "crear una especificación de twig", y luego usar la p4 integrate para "abrir files para fusionar o ramificar", pero no pude encontrar ningún ejemplo concreto que tenga sentido.

Gracias.

Si quieres algo que sea comparable a la experiencia git, probablemente quieras utilizar el modo DVCS de Perforce: https://www.perforce.com/perforce/r15.2/manuals/dvcs/

Entonces, suponiendo que estás haciendo esto en tu propio server local, el flujo es así:

 p4 fetch p4 switch -c my_branch # make some edits p4 submit -d "Made my edits." p4 switch main p4 fetch p4 merge --from my_branch p4 resolve -am p4 submit -d "Merged my edits into main." p4 push 

Si está haciendo esto directamente en un server compartido que usa transmisiones, puede omitir la parte de búsqueda y envío ya que cada envío ya va directamente al "control remoto" (aunque supongo que la function allwrite / auto-reconciliar que imita "git commit -a" no está activado en ese caso, por lo que usará "p4 edit" para abrir sus files y editarlos):

 p4 switch -c my_branch p4 edit (your files) # make some edits p4 submit -d "Made my edits." p4 switch main p4 merge --from my_branch p4 resolve -am p4 submit -d "Merged my edits into main." 

Si está haciendo esto en un server compartido que no utiliza transmisiones (es decir, "clásico Perforce"), entonces es:

 p4 integ //depot/main/... //depot/my_branch/... cd my_branch p4 submit -d "Created my branch." p4 edit (your files) # make some edits p4 submit -d "Made my edits." p4 integ //depot/my_branch/... //depot/main/... p4 resolve -am p4 submit -d "Merged my edits into main." 

Si no puede usar DVCS y su sitio usa transmisiones, eche un vistazo a Flujos de tareas: https://www.perforce.com/perforce/doc.current/manuals/p4guide/chapter.streams.html#streams.types. tarea

Puede usar estos para trabajar en correcciones de errores o características y son semiprivados.

Una vez que esté satisfecho con el trabajo, puede fusionarse nuevamente a la secuencia / twig principal.

Incluso trabajan con depots no streams.b