- Avant de commencer
-
git distingue les fichiers par leur valeur de hachage
-
Les quatre types d’objets de git
-
Changer le chemin d’un dossier et changer le nom d’un fichier, c’est la même opération
-
Réorganisation de l’arborescence, et git est plutôt malin
-
L’inférence de git
-
Le processus d’inférence de git pour
renamedetedit-renamed
Étape 1 : sélection des candidats
Étape 2 : comparaison des hash de fichiers (trouver renamed)
Étape 3 : comparaison de similarité entre fichiers (trouver edit-renamed)
→ N’est-ce pas un calcul trop coûteux ?
-
L’histoire des galères en coulisses
-
Conclusion
1 commentaires
Petite parenthèse, mais j’ai l’impression que Git et GitHub n’utilisent pas tout à fait la même méthode pour détecter les chemins de fichiers.
Git l’a pourtant clairement reconnu comme un renommage, mais quand on ouvre une PR sur GitHub, le fichier apparaît comme supprimé puis un autre fichier comme ajouté, ce qui empêche d’avoir un diff et devient souvent assez pénible...