Bonjour.
J’essaie actuellement de tracer l’origine d’un bug sur un dépôt SVN (celui de LLVM) et je me retrouve face à un comportement très étrange (enfin, plus d’un mais celui là est assez sidérant).
Via une recherche dichotomique, j’ai déterminé la première révision comportant le bug, la r291815
. Jusque là tout va bien. Mais ma surprise fut fort grosse après avoir constaté que cette révision ne contenait aucun changement du code, donc à priori aucune raison d’introduire un tel bug. Pire, la révision précédente, r291813
, ne contient pas le bug, mais lorsque j’édite manuellement les fichiers du dépôt pour revenir à un état équivalent à la r291813
selon ce que m’indique svn diff
(tout en conservant SVN sur la r291815
), le bug est toujours là.
À partir de là, soit
- Mon dépôt est hanté par un esprit frappeur et j’aurais besoin d’un exorciste ;
- La révision
r291815
contient des changements non indiqués parsvn diff
. Ma suspicion est que cela viendrait d’un merge ou assimilé, la révision en question étant un bump de la version de LLVM de4.0svn
à5.0svn
. Si c’est bien ça, comment retrouver lesdits changements ? Et surtout, comment une équipe de développement a pu se dire qu’une telle fonctionnalité était une bonne idée ?