Un repositorio git puede considerarse como un conjunto de revisiones parcialmente ordenadas (donde una revisión es anterior a otra en el orden si es un sucesor directo o indirecto de la anterior). Los pedidos parciales que obtiene de los repositorios de git tienden a tener un ancho bajo (el tamaño del conjunto más grande de revisiones mutuamente independientes) porque el ancho está directamente relacionado con el número de desarrolladores activos y el número de tenedores diferentes que cualquier desarrollador individual podría estar trabajando en.
En base a estos antecedentes, sugeriría el teorema de Dilworth , que establece que el ancho de cualquier orden parcial es igual al número mínimo de cadenas (subconjuntos totalmente ordenados) necesarios para cubrir todas las versiones. Y para que sea un tema para este tablero, también podría mencionar los algoritmos basados en la coincidencia de gráficos para calcular el ancho y encontrar una cobertura por un número mínimo de cadenas en el tiempo polinómico.
Una forma en que esto podría ser relevante para el uso real en Git es en un sistema para visualizar el historial de versiones de un sistema: la mayoría de los sistemas de visualización de Git que he visto dibujan tiempo en el eje vertical y versiones independientes del repositorio horizontalmente, por lo que esto le daría una manera de organizar la visualización en un pequeño número de pistas verticales independientes.
Alternativamente, si desea algo más ambicioso y avanzado, pruebe la estructura de datos del árbol de culpa de Demaine et al. , Que está directamente motivada por la resolución de conflictos en sistemas de control de versiones similares a git.