Sebuah repositori git dapat dianggap sebagai seperangkat revisi yang dipesan sebagian (di mana satu revisi lebih awal dari yang lain dalam urutan jika itu adalah penerus langsung atau tidak langsung dari yang sebelumnya). Pesanan parsial yang Anda dapatkan dari repositori git cenderung memiliki lebar rendah (ukuran kumpulan terbesar dari revisi yang saling independen) karena lebar terkait langsung dengan jumlah pengembang aktif dan jumlah garpu berbeda yang mungkin dikembangkan oleh masing-masing pengembang. di.
Berdasarkan latar belakang ini, saya akan menyarankan teorema Dilworth , yang menyatakan bahwa lebar urutan parsial sama dengan jumlah minimum rantai (himpunan bagian yang dipesan secara total) yang diperlukan untuk mencakup semua versi. Dan untuk membuatnya sesuai topik untuk forum ini, Anda juga bisa menyebutkan algoritma berbasis pencocokan grafik untuk menghitung lebar dan menemukan penutup dengan jumlah minimum rantai dalam waktu polinomial.
Salah satu cara ini mungkin relevan untuk penggunaan aktual di Git adalah dalam sistem untuk memvisualisasikan riwayat versi suatu sistem: sebagian besar sistem visualisasi Git yang saya lihat menarik waktu pada sumbu vertikal, dan versi independen dari repositori secara horizontal, jadi ini akan memberi Anda cara untuk mengatur visualisasi menjadi sejumlah kecil trek vertikal independen.
Atau, jika Anda menginginkan sesuatu yang lebih ambisius dan maju, coba struktur data pohon menyalahkan Demaine et al. , Yang secara langsung dimotivasi oleh resolusi konflik dalam sistem kontrol versi yang mirip git.