J'utilise donc libsvn sous Windows dans une application C++. J'ai plusieurs arbres svn avec lesquels j'utilise l'api. Je suppose que toute l'initialisation et la configuration sont correctes puisque toutes les autres opérations fonctionnent comme prévu.
J'utilise svn_client_log4 (j'ai également essayé svn_client_log avec exactement les mêmes résultats) et généralement, lorsque mon callback est appelé, j'obtiens les informations correctes. Cependant, mon problème est que, de temps en temps, le numéro de révision que je reçois est -1 au lieu du numéro complet. Ce qui est étrange, c'est que cela ne se produit que sur l'un des arbres que j'interroge, et toujours le même.
Ce n'est pas très cohérent, ça arrive généralement une fois par jour et c'est très difficile à déboguer parce que chaque fois que j'essaie de passer par le code, ça ne se produit généralement pas. Maintenant, je suppose que -1 est utilisé comme révision principale et techniquement, ce n'est peut-être pas faux, mais je cherche le nombre réel.
J'ai vu plusieurs façons différentes de récupérer la dernière révision avec l'api, je vais donc les essayer, mais je trouve toujours étrange que cela ne se produise que parfois. Peut-être que quelqu'un l'a déjà expérimenté ou sait ce qui pourrait clocher ?