Estoy buscando comentarios sobre las ventajas y desventajas de los métodos disponibles para crear ramas de desarrollo individuales en un depósito de Perforce. Si entiendo correctamente, hay dos formas de manejar esto. El primero es crear una rama privada, que es una copia completa de la rama en la que está trabajando. La rama se mantendría completamente independiente y aislaría completamente sus cambios de la rama objetivo.Perforce Dev Branches - Sparse Branching vs. Private Branching
El otro método que he escuchado recomendado es ramificación dispersa. Se describe en Practical Perforce (Capítulo 9, p.242). Esto crea una rama, pero solo con los archivos que necesitará editar. A continuación, superpone la vista de cliente de la rama de destino con esta vista de cliente de rama de desarrollo dispersa.
Ambos métodos requerirían que el programador realice algún trabajo de integración para obtener sus cambios en la rama de destino. El método de la rama privada parece que requeriría mucha más memoria adicional para crear una copia de la rama completa. Sin embargo, la documentación de Perforce indica que realiza una "copia diferida" en esta situación.
La integración también permite a Perforce realizar una "copia diferida" de los archivos. Cuando se bifurcan archivos , el servidor en realidad no contiene dos copias de los archivos: solo contiene el archivo de origen y un puntero en la base de datos registra el hecho de que se ha producido la bifurcación en el archivo de destino. Las copias flojas hacen que la bifurcación sea una operación de bajo costo; el servidor no tiene que hacer un seguimiento de las copias duplicadas de los archivos.
Esto hace que parezca que el método de rama dispersa solo agrega la posibilidad de error humano al proceso ya que, por ejemplo, el desarrollador puede comenzar a trabajar en un archivo que no agregaron a la rama Sparse y luego accidentalmente actualiza un cambio a la rama objetivo que rompe la construcción. Pero, la funcionalidad de ramificación dispersa existe por una razón. Cualquier comentario sobre por qué existe y por qué debería usarlo en una sucursal privada completa (o viceversa) sería muy apreciado.
Buen punto en el espacio de disco del cliente. Me olvidé de señalarlo ya que tengo TB de espacio en mi máquina, pero sigue siendo válido en la mayoría de los casos. – Fostah