Random Generation of Git Graphs - Archive ouverte HAL Accéder directement au contenu
Pré-Publication, Document De Travail (Preprint/Prepublication) Année : 2024

Random Generation of Git Graphs

Génération aléatoire des graphes de Git

Résumé

Version Control Systems, such as Git and Mercurial, manage the history of a project as a Directed Acyclic Graph encoding the various divergences and synchronizations happening in its life cycle. A popular workflow in the industry, called the feature branch workflow, constrains these graphs to be of a particular shape: a unique main branch, and non-interfering feature branches. Here we focus on the uniform random generation of those graphs with n vertices, including k on the main branch, for which we provide three algorithms, for three different use-cases. The first, based on rejection, is efficient when aiming for small values of k (more precisely whenever k = O(√ n)). The second takes as input any number k of commits in the main branch, but requires costly precalculation. The last one is a Boltzmann generator and enables us to generate very large graphs while targeting a constant k/n ratio. All these algorithms are linear in the size of their outputs.
Fichier principal
Vignette du fichier
main.pdf (430.41 Ko) Télécharger le fichier
appendice.pdf (214.37 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Licence : CC BY NC - Paternité - Pas d'utilisation commerciale

Dates et versions

hal-04487862 , version 1 (04-03-2024)

Licence

Paternité - Pas d'utilisation commerciale

Identifiants

  • HAL Id : hal-04487862 , version 1

Citer

Julien Courtiel, Martin Pépin. Random Generation of Git Graphs. 2024. ⟨hal-04487862⟩
30 Consultations
2 Téléchargements

Partager

Gmail Facebook X LinkedIn More