Projet personnel · Challenge CodeCrafters
Build Your Own Git
Réimplémentation en Rust de mécanismes internes de Git, du stockage des objets jusqu'au clonage d'un dépôt.
- Rôle
- Conception et développement
- Période
- 22 au 24 octobre 2024
- Stack
- Rust
Contexte et problème
Build Your Own Git est un challenge de programmation dont le but est de comprendre Git en réimplémentant une partie de ses mécanismes internes. Plutôt que d’utiliser les commandes de haut niveau de l’outil, le programme doit manipuler directement les représentations qui constituent un dépôt.
Mon rôle
J’ai réalisé cette implémentation en Rust. Le projet me permet d’explorer à la fois le fonctionnement d’un outil central dans mon quotidien de développeur et les garanties apportées par le système de types et le modèle de gestion de la mémoire de Rust.
Ce qui a été réalisé
Le programme prend en charge les objets fondamentaux de Git : les objets blob pour le contenu des fichiers, tree pour l’arborescence et commit pour l’historique. Il sait lire et écrire ces objets dans le stockage d’un dépôt, en respectant leur représentation attendue.
Le périmètre comprend également le clonage d’un dépôt. Cette étape relie les mécanismes locaux de lecture, d’écriture et de reconstruction de l’arborescence aux échanges nécessaires pour récupérer un historique distant. Le code source est publié sur GitHub.