J'ai lu un certain nombre de questions concernant des outils simples de contrôle du code source et Git m'a semblé être un choix raisonnable. Je l'ai mis en place et il fonctionne bien jusqu'à présent. Un aspect que j'apprécie dans CVS est l'incrémentation automatique d'un numéro de version.
Je comprends que cela a moins de sens dans un dépôt distribué, mais en tant que développeur, j'ai envie/besoin de quelque chose comme ça. Laissez-moi vous expliquer pourquoi :
J'utilise Emacs. Périodiquement, je cherche de nouvelles versions des fichiers sources Lisp pour des paquets tiers. Disons que j'ai un fichier, foo.el, qui, d'après l'en-tête, est la version 1.3 ; si je cherche la dernière version et que je vois qu'elle est 1.143 ou 2.6 ou autre, je sais que je suis loin derrière.
Si, au lieu de cela, je vois deux hachages de 40 caractères, je ne saurai pas lequel est le plus récent et je n'aurai aucune idée de l'ampleur de ce retard. Je détesterais devoir vérifier manuellement les ChangeLogs juste pour avoir une idée de mon retard.
En tant que développeur, je tiens à faire preuve de courtoisie à l'égard des personnes qui utilisent mes produits (et peut-être que je me fais des illusions à ce sujet, mais laissons cela de côté pour l'instant). Je ne veux pas avoir à me rappeler d'incrémenter moi-même ce foutu nombre à chaque fois, ou un horodatage ou quelque chose comme ça. C'est une véritable plaie, et je le sais d'expérience.
Quelles sont donc les alternatives qui s'offrent à moi ? Si je ne peux pas obtenir d'équivalent en $Id:$, comment puis-je fournir ce que je cherche ?
Je dois préciser que je m'attends à ce que l'utilisateur final n'ait PAS installé Git et, même s'il l'a fait, qu'il ne dispose pas d'un dépôt local (en effet, je m'attends à ce qu'il ne soit pas disponible de cette manière).