Perforce (comercial / de código cerrado, centralizado) es el estándar de la industria por varias razones.
- Es un producto comercial, lo que significa que viene con soporte comercial. Los proyectos de código abierto pueden ser elegibles para una licencia gratuita (menos el soporte técnico).
- Admite muy bien los espacios de trabajo , lo que permite diseños de directorio de fuentes y activos muy flexibles.
- Soporta muy bien las listas de cambios .
- Puedes ver quién está trabajando en qué. Los juegos tienen un número anormalmente alto de archivos binarios (activos) que cambian rápidamente en comparación con otros proyectos de desarrollo. La mayoría de las veces no son fusionables, por lo que es esencial realizar un seguimiento de quién tiene qué / dónde / cuándo. Los clientes de Subversion y DSCC evitan intencionalmente esta técnica, pero es bastante beneficiosa en ciertas aplicaciones.
- Admite bases de código / activo gigantescas . No , no almacenar datos duplicados en las máquinas cliente, lo cual es importante cuando su sub-vista de árbol es un par de docenas de conciertos.
Dicho esto, es dolorosamente obvio casi a diario que Perforce no siente que su posición en la industria esté amenazada. Sus herramientas visuales, que incluyen P4V y P4SCC (integradas con Visual Studio) son lentas y con errores, y se sabe que esta última congela Visual Studio por puro placer. AnkhSVN está a millas de distancia de Perforce.
Comentario de xan: Sin embargo, vale la pena señalar que su herramienta de fusión, P4Merge (utilizada para diferenciar y fusionar) es excelente y muy superior a los gustos de Tortoise Merge. Sorprendentemente, este componente está disponible de forma gratuita como parte del paquete P4 Visual Tools.
Comentario de slicedlime: Otro inconveniente de Perforce es que ramificarse en él tiende a ser un gran dolor, especialmente si tienes árboles grandes. Casi todas las demás vcs son mejores para bifurcar y fusionar. Sin embargo, este suele ser un pequeño precio a pagar por las ventajas anteriores.
Comentario de roe: Perforce es extremadamente hablador. No sucede mucho sin el servidor involucrado. En particular, necesita el servidor para abrir para editar, lo que significa que debe saltar algunos aros si tiene la intención de romper la conexión con el servidor.
Comentario de jrista: Como usuario diario de Perforce durante más de dos años, con un equipo extendido de desarrollo e ingeniería de calidad de más de 100 personas, me he familiarizado íntimamente con él. Si bien es un sistema de control de fuente decente, tiene sus inconvenientes que aquellos que evalúan los sistemas SCC deben tener en cuenta:
- Como lo mencionaron otros, la ramificación / integración es particularmente engorrosa y difícil de hacer. Tienes una cantidad impía de control, pero tiene el costo de una complejidad excesiva. Por otro lado, la herramienta de combinación visual es única y presenta una hermosa vista de combinación "basada" en tres archivos de su trabajo. Perforce proporciona algunas visualizaciones gráficas de rutas de ramificación (llamadas Gráfico de revisión), sin embargo, la forma en que se visualiza a menudo hace que la herramienta sea bastante inútil. Si solo necesita ver un segmento de tiempo muy pequeño para uno o muy pocos archivos, puede ser útil ... algo más, y es casi imposible navegar por el Gráfico de Revisión.
- Perforce tampoco es una herramienta muy eficiente, ya que casi cualquier operación de archivo requiere la duplicación de archivos y datos: ramificación, etiquetado, listas de cambio, etc. No hay etiquetas o ramificaciones dispersas o livianas aquí. Si no tiene miedo de utilizar una enorme cantidad de espacio en el disco para realizar un seguimiento de sus cambios, es probable que la fuerza le sirva bien. Si no, buscaría otra herramienta.
- Perforce utiliza espacios de trabajo, sin embargo, estos pueden ser frustrantes a veces, ya que forzosamente almacena en caché todo el estado en su espacio de trabajo, en lugar de usar los archivos reales en el disco para determinar algún estado. Esto a menudo hace que los archivos no se sincronicen porque su espacio de trabajo dice que están actualizados, cuando, por alguna razón, los archivos físicos en el disco NO están actualizados.
- Una molestia final, Perforce es bastante brutal en su red. Es un programa extremadamente hablador y consume una cantidad considerable de ancho de banda. Cualquier pérdida de conectividad de red, y corre el alto riesgo de no poder hacer ningún trabajo con sus archivos controlados por fuente hasta que se restablezca la conectividad. Hasta el momento, no he descubierto una actividad que se pueda realizar sin conexión en Perforce.