Articulo de referencia

Control de versiones de Unity

Unity Version Control (anteriormente conocido como Plastic SCM ) [ 1 ] es una herramienta comercial de control de versiones distribuida multiplataforma desarrollada por Códice S...

Unity Version Control (anteriormente conocido como Plastic SCM ) [ 1 ] es una herramienta comercial de control de versiones distribuida multiplataforma desarrollada por Códice Software para Microsoft Windows , Mac OS X , Linux y otros sistemas operativos. Incluye una herramienta de línea de comandos , interfaces gráficas de usuario nativas , una herramienta de comparación y fusión , e integración con varios IDE . Es una plataforma completa de control de versiones que no se basa en Git (aunque puede comunicarse con él).

Características

Unity Version Control es una plataforma completa de control de versiones. Incluye los siguientes componentes:

  • Servidor
  • Cliente de línea de comandos
  • interfaces gráficas de usuario
  • Herramientas de comparación y fusión [ 2 ]
  • Interfaz gráfica web [ 3 ]
  • Interfaz de administración basada en web [ 4 ]

Algunas de sus características incluyen:

  • Soporte para ramificación y fusión intensivas: Según sus creadores, Unity Version Control puede manejar ramificación ilimitada y escenarios de fusión complejos [ 5 ].
  • Visual Branch Explorer: Una línea de tiempo para representar ramas, fusiones y cambios en repositorios, implementada en todas sus GUI [ 6 ]
  • Seguridad basada en ACL: Cada objeto del sistema puede protegerse con listas de control de acceso [ 7 ].
  • Combinación de tres vías integrada y comparación lado a lado que incluye soporte sensible al lenguaje e historial de un método o función específicos [ 8 ].
  • Control de versiones de directorios y compatibilidad con el cambio de nombre de versiones.
  • Historial de revisiones para archivos ramificados, renombrados, movidos, copiados y eliminados.
  • Culpar/Anotar
  • Operación centralizada (estilo SVN/Perforce)
  • Operación distribuida (estilo Git/Mercurial)
  • Confirmaciones atómicas : el servidor garantiza que los conjuntos de cambios se confirmen en el repositorio en su totalidad.
  • Almacenamiento : los usuarios pueden guardar y restaurar el trabajo en curso para cambiar de tarea.
  • Compatibilidad con archivos ASCII, Unicode , binarios, de enlace simbólico (en Unix), específicos de Mac y UTF-16.
  • Compatibilidad con plataformas Mac OS X, Windows y Linux.
  • Disparadores de eventos del lado del servidor y del lado del cliente [ 9 ]
  • Soporte de red de alta latencia: El protocolo de red utilizado por Unity Version Control está optimizado para redes de alta velocidad/alta latencia [ 10 ].
  • Gluon: Interfaz gráfica de usuario y flujo de trabajo para personas sin conocimientos de programación (especialmente enfocado en el desarrollo de juegos) [ 11 ]
  • Bloqueo: Los archivos binarios y los recursos que no se pueden fusionar pueden usar el bloqueo en lugar de la ramificación/fusión [ 12 ].

Diseño

Unity Version Control es un sistema cliente/servidor, aunque en términos actuales de control de versiones también puede definirse como un sistema de control de revisiones distribuido , debido a su capacidad para tener servidores muy ligeros en el ordenador del desarrollador y enviar y recibir ramas entre servidores (de forma similar a como lo hacen Git y Mercurial ). Los desarrolladores trabajan en los archivos en sus espacios de trabajo cliente y registran los archivos modificados conjuntamente en conjuntos de cambios.

Almacenamiento

Unity Version Control tiene dos familias diferentes de almacenamiento para todos sus datos y metadatos:

  • Jet: Un sistema de almacenamiento ad-hoc diseñado para alto rendimiento, lanzado con la versión 6.0. Actualmente es el sistema de almacenamiento predeterminado.
  • Bases de datos relacionales: Tradicionalmente, Unity Version Control admitía el almacenamiento de todos los datos y metadatos en bases de datos relacionales: MySQL, SQL Server, SQLite, SQL Server Compact Edition, Firebird, Firebird Embedded, PostgreSQL y Oracle. Las bases de datos relacionales aún son compatibles, aunque Jet ahora es la opción predeterminada. [ 13 ]

Modos de funcionamiento

El control de versiones de Unity puede funcionar en 2 modos:

  • Centralizado: Con espacios de trabajo (copias de trabajo) conectados directamente a un servidor. Los usuarios realizan operaciones de registro sin necesidad de un paso adicional.
  • Distribuido: Los usuarios alojan sus propios repositorios en sus computadoras y envían/reciben datos a un servidor central. [ 14 ]

Diferencias con Git

Unity Version Control SCM no se basa en Git, aunque puede funcionar como servidor y cliente Git. Las diferencias se pueden resumir en: mejoras en la fusión, soporte nativo para archivos y proyectos grandes, bloqueo de archivos opcional y capacidad para trabajar de forma distribuida y centralizada. También existen diferencias en la estructura de ramificación: mientras que en Git las ramas son solo punteros, en Unity Version Control son contenedores. Unity Version Control versiona directorios y archivos, identificándolos con "identificadores de elementos", lo cual es útil para el seguimiento de movimientos y cambios de nombre, mientras que Git se basa en las diferencias para reconstruir los cambios de nombre y no versiona directorios. [ 15 ]

Interoperabilidad con otros sistemas de control de versiones

Git

Unity Version Control puede interactuar con Git de las siguientes maneras:

  • GitSync: Todos los clientes de Unity Version Control pueden enviar y recibir cambios desde un repositorio Git. [ 16 ]
  • GitServer: Un servidor de control de versiones de Unity puede funcionar como un servidor Git, por lo que cualquier cliente Git puede enviar/recibir cambios a un servidor de control de versiones de Unity.
  • Compatibilidad con importación/exportación rápida: Los comandos de exportación e importación rápida están disponibles para exportar repositorios de Unity Version Control al formato intermedio de Git e importar desde el formato intermedio de Git. [ 17 ]

Forzosamente

Unity Version Control puede realizar una sincronización bidireccional con los repositorios de Perforce para facilitar la migración [ 18 ].

Otros controles de versiones

La importación/exportación desde otros sistemas se realiza mediante el formato fast-import/export de Git.

Disponibilidad, ciclo de lanzamiento y plataformas compatibles

Unity Version Control está disponible para su descarga desde el Unity Cloud Dashboard [ 19 ] o plasticscm.com. [ 20 ] Las versiones principales se publican anualmente como ejecutables precompilados para Microsoft Windows , Mac OS X y Linux . [ 21 ]

Se publican lanzamientos menores semanalmente.

Licencias y condiciones de uso

Unity Version Control es gratuito para particulares (Edición Personal), organizaciones sin ánimo de lucro y proyectos de código abierto (Edición Comunitaria).

Cloud Edition es una versión comercial para equipos que no necesitan un servidor local. Los clientes pagan por usuario activo mensual y almacenamiento en la nube. La suscripción incluye todo el software de control de versiones de Unity.

Enterprise Edition es una versión comercial para equipos de más de 15 usuarios, utilizada normalmente por empresas. Se puede adquirir en modo de licencia perpetua o mediante suscripción mensual o anual. [ 22 ]

Historia

Codice Software comenzó en agosto de 2005 con el respaldo de un inversor ángel y los fundadores. [ 23 ] El objetivo era crear un control de versiones más robusto que SVN en ramificación y fusión, y más asequible para las PYME que las alternativas comerciales disponibles en ese momento. En octubre de 2006, lanzaron la primera versión de Plastic SCM y la presentaron oficialmente en Tech Ed 2006 en Barcelona . [ 24 ] [ 25 ]

En 2007, Codice fue la primera PYME española en lograr la certificación CMMI L2 utilizando SCRUM. [ 26 ]

Novell presentó Plastic SCM como una de las empresas que utilizan Mono comercialmente. [ 27 ]

Plastic SCM 2.0 se lanzó en marzo de 2008. [ 28 ]

En 2009, Codice consigue su primera ronda de financiación de capital riesgo respaldada por Bullnet Capital, una empresa española especializada en empresas tecnológicas. [ 29 ]

Plastic SCM fue finalista del premio Jolt en la categoría de Gestión de Cambios y Configuración, anunciado en diciembre de 2008. [ 30 ]

Plastic SCM 3.0 se lanzó en julio de 2010 [ 31 ] y presentaba Xdiff/Xmerge: su primer enfoque para rastrear el código movido en diffs y merges.

En diciembre de 2010, Plastic SCM anuncia "historial de métodos", una función que permite al usuario calcular el historial de un método/función determinado en lugar del historial de un archivo completo. [ 32 ]

En 2011, Francisco Monteverde se unió a la empresa como CEO, mientras que Pablo Santos, fundador, fue nombrado CTO y Presidente del consejo de administración. [ 33 ]

Plastic SCM 4.0 se lanzó el 23 de noviembre de 2011 [ 34 ] [ 35 ] e introdujo un cambio importante en el diseño interno: el control de versiones y el seguimiento de fusiones se trasladaron de un enfoque por archivo a un enfoque por conjunto de cambios, lo que ayudó a mejorar la interoperabilidad posterior con Git. [ 36 ]

Desde la versión 4.0, Plastic comenzó a orientarse más hacia el desarrollo de juegos, especialmente considerando las debilidades de Git en términos de grandes repositorios y archivos. [ 37 ]

La versión 4.1 se lanzó en abril de 2012. [ 38 ]

En 2013, Codice lanzó SemanticMerge, una herramienta que compara y fusiona basándose en la estructura del código y no en el texto. [ 39 ] Posteriormente, la tecnología se integró en Plastic. Semantic se basa en el trabajo previo realizado en la herramienta Xdiff/Xmerge. Más tarde ese mismo año, Semantic añadió soporte para Java para complementar la oferta inicial de .NET. [ 40 ] Pablo Santos presentó la detección de comparaciones y fusiones entre archivos en QCon 2013 en San Francisco. [ 41 ]

En 2013, Plastic SCM comenzó a admitir de forma nativa el protocolo de red Git, que convierte virtualmente cualquier instalación de Plastic en un cliente Git. [ 42 ]

Plastic SCM 5.0 se lanzó en septiembre de 2013. [ 43 ] Incluye diferenciación semántica integrada, detección de refactorización [ 44 ] e historial de métodos. [ 45 ] Otras características son seguridad basada en rutas, listas de cambios del cliente y reglas ocultas mejoradas.

La versión 5.4 amplía posteriormente algunas de estas características y añade algunas más: servidores cifrados, JavaCLI (un cliente Java para admitir scripts de HP-UX y Solaris), carga y descarga de archivos multinúcleo, Plastic Gluon (desarrollado en colaboración con Telltale [ 46 ] ), una GUI para artistas en el desarrollo de juegos, transferencia de datos optimizada para WAN, submódulos, espacios de trabajo transformables. Plastic 5.4 evoluciona como la versión principal de Plastic y en diciembre de 2014 se lanza una nueva GUI nativa para Linux que reemplaza a la anterior multiplataforma. [ 47 ] 5.4 también incluye una nueva GUI nativa para macOS.

En enero de 2016, Plastic Cloud se lanzó como un sistema de alojamiento de repositorios en la nube. [ 48 ]

En marzo de 2016 se lanzó Plastic Cloud Edition, una nueva versión diseñada para equipos que no necesitan un servidor local. [ 49 ]

La versión 6.0 finalmente se lanzó en enero de 2017. [ 50 ] Incluye un nuevo sistema de almacenamiento de datos llamado Jet, compatibilidad total con versiones anteriores hasta la 5.0 y soporte para licencias flotantes. La versión 6.0 continuó evolucionando durante 2017.

Plastic SCM 7.0 se lanzó en marzo de 2018 [ 51 ] e incluye un nuevo diseño de Branch Explorer, una nueva interfaz de administración basada en web y mejoras en las GUI de MacOS y Linux.

La función mergebots se lanzó en septiembre de 2018. Mergebots es una forma de implementar DevOps con agentes del lado del servidor que detectan cuándo se deben fusionar ramas después de probarlas en un sistema CI. [ 52 ] Plastic SCM 8.0 se lanzó en enero de 2019.

El 17 de agosto de 2020 se reveló que Unity Technologies , los creadores del motor de juegos Unity , habían adquirido Codice Software. [ 53 ] [ 54 ]

Véase también

Notas

  1. "Control de versiones de Unity" . Archivado del original el 16 de julio de 2024. Consultado el 2 de agosto de 2024 .
  2. XDIFF Y XMERGE
  3. WebUI: interfaz web rediseñada para Plastic
  4. webadmin: presentación de la nueva herramienta de administración del servidor
  5. mergeMachine
  6. Explorador de ramas
  7. SEGURIDAD
  8. Control de versiones semántico
  9. GUÍA DE ACTIVADORES
  10. Canal de red optimizado para alta latencia
  11. Gluon: Control de versiones para artistas
  12. GUÍA DEL ADMINISTRADOR DE PLASTIC SCM: Capítulo 7: Configuración del desbloqueo exclusivo (Bloqueo)
  13. La historia de Jet: el sistema de almacenamiento de residuos ultrarrápido de Plastic
  14. Gestión de la cadena de suministro de plásticos: DVCS a nivel empresarial
  15. SCM de plástico vs. Git — Edición 2018
  16. GitSync para Plastic SCM con protocolos Git nativos y compatibilidad con Visual Studio 2012
  17. ASPECTOS DESTACADOS DE PLASTIC SCM PARA USUARIOS DE GIT
  18. [referencia: https://www.plasticscm.com/perforce SCM de plástico para equipos Perforce]
  19. "Primeros pasos con el control de versiones de Unity a través del cliente de escritorio" . docs.unity.com . Archivado del original el 15 de abril de 2024. Consultado el 2 de agosto de 2024 .
  20. "Plastic SCM - Descargar Plastic SCM" . www.plasticscm.com . Archivado del original el 10 de julio de 2024. Consultado el 2 de agosto de 2024 .
  21. Miguel de Icaza sobre la interfaz de usuario de Plastic SCM en Linux y Mac OS X
  22. Actualizaciones importantes de PlasticSCM
  23. LinkedIn: Pablo Santos
  24. SIMO 2006
  25. SCM de plásticos – DVCS a nivel empresarial SCM de plásticos – DVCS a nivel empresarial
  26. Codice Software presenta su nueva herramienta SCM
  27. Empresas que utilizan Mono
  28. Conjunto Plastic SCM 2.0 para proyectos de desarrollo paralelo
  29. Innova.- La entidad de capital riesgo Bullnet Capital entra en el accionariado de la vallisoletana Códice Software
  30. Los productos de Embarcadero son finalistas del premio Jolt en varias categorías.
  31. Codice incluye XMerge/XDiff 2.0 en la versión Plastic SCM.
  32. Anunciando la historia del método
  33. Francisco Monteverde se convierte en el nuevo CEO de Códice Software
  34. Lanzamiento de Plastic SCM 4.0: nuevas funciones de Plastic SCM 4.0 por Pablo Santos
  35. Codice Software lanza Plastic SCM 4.0; desafía a Git y Perforce en DVCS
  36. Componentes internos de plástico: de 3.0 a 4.0
  37. Codice Software presenta Plastic SCM 4.0 para el desarrollo de videojuegos y su exitosa colaboración con Digital Legends Entertainment.
  38. Plastic SCM presta atención a los detalles en la gestión del código fuente.
  39. Una herramienta de fusión que entiende las funciones
  40. Codece añade compatibilidad con Java a su herramienta de fusión con reconocimiento de código.
  41. InfoQ - QCon San Francisco 2013 - Refactorización en la era de DVCS - Llega la fusión semántica
  42. GitSync para Plastic SCM con protocolos Git nativos y compatibilidad con Visual Studio 2012
  43. Hoy salen dos nuevas versiones de SCM de plástico.
  44. Control de versiones semántico
  45. Características del SCM de plástico
  46. Cómo Telltale Games gestiona el control de versiones
  47. Interfaz gráfica nativa de Linux – gtkplastic
  48. ↑ ¡ Plastic Cloud ya está disponible!
  49. Edición Nube SCM de Plástico
  50. Versión 6.0.16.804
  51. Versión 7.0.16.2047
  52. ↑ ¡ Añade un mergebot a tu repositorio!
  53. "Unity adquiere Codice Software para gestionar flujos de trabajo 3D" . VentureBeat . 17 de agosto de 2020. Consultado el 17 de agosto de 2020 .
  54. Barton, Seth (17 de agosto de 2020). "Unity adquiere al desarrollador de Plastic SCM, Codice Software | Noticias de desarrollo" . MCV/DEVELOP . Consultado el 17 de agosto de 2020 .

Referencias

  • Krill, Paul (24 de marzo de 2008), "Plastic SCM 2.0 se prepara para proyectos de desarrollo paralelos" , InfoWorld , consultado el 14 de marzo de 2012.
  • Feinman, Jeff (1 de diciembre de 2009), "Codice se expande con una nueva versión de la herramienta SCM" , SD Times , consultado el 14 de marzo de 2012.
  • Norfolk, David (30 de julio de 2007), "Codice Software presenta su nueva herramienta SCM" , The Register , consultado el 14 de marzo de 2012.
  • Serignese, Katie (15 de julio de 2010), "Codice incluye XMerge/XDiff 2.0 en la versión Plastic SCM" , SD Times , consultado el 14 de marzo de 2012.
  • McConnel, Toni (27 de abril de 2010), "ESC  — Embed-X incorpora el primer marco de desarrollo ágil para procesos de software críticos" , EE Times , consultado el 14 de marzo de 2012.
  • Santos, Pablo (2 de agosto de 2007), "SCRUM Meets CMMi" , Dr. Dobb's Journal , consultado el 14 de marzo de 2012
Obtenido de " https://en.wikipedia.org/w/index.php?title=Unity_Version_Control&oldid=1318776204 "