Aller au contenu
Lucas Préaux
Tous les projets

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.