Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Semantic merge tool

263 views

Published on

Presentación de Semantic merge tool en betabeers madrid, 31 mayo 2013.

  • Be the first to comment

  • Be the first to like this

Semantic merge tool

  1. 1. SemanticMergeToolRoberto Luis Bisbé - @rlbisbeSoftware Developer @ Códice Softwareroberto@codicesoftware.com
  2. 2. • Rama por tarea• Se cierra => Se integra• 6 años => 12k tareas• Integramos 25 tareas / semana = MERGEContexto
  3. 3. Contexto
  4. 4. Gestionar merges y conflictos es:• Lento• Tedioso• Delicado• Inmovilista• Poco eficiente
  5. 5. Las herramientas no ayudan demasiado
  6. 6. Las herramientas no ayudan demasiado
  7. 7. Las herramientas no ayudan demasiado
  8. 8. • Entender el código• Resolución automática• Resolución manual– Visual– Sencilla– RápidaNuestra solución:
  9. 9. Interfaz inicial
  10. 10. Diferencias de origen y destino
  11. 11. Herramienta de diff
  12. 12. Bajo el capó
  13. 13. Parse Convert Diff Merge• Parseamos los ficheros• Convertimos a nuestro formato• Comparamos los árboles• Obtenemos los conflictos¿Cómo funciona?
  14. 14. while b ≠ 0if a > ba := a − belseb := b − areturn aAST: Abstract Syntax Tree
  15. 15. • +1 millón de commits probados• +6 meses de desarrollo• 4 miembros del equipo full-time• +2 meses de pruebasDatos curiosos
  16. 16. + plataformas+ lenguajes+ ficherosBYOT: Bring your own treeEl futuro
  17. 17. GRACIAS¿Preguntas?

×