2009-11-23 18 views
1

Le $ Revision $ dans CVS montre la version d'un fichier, qui repose sur le nombre de modifications.Y at-il un mot-clé svn: pour "modification count" d'un fichier versionné dans subversion

Ceci est très pratique, car le nombre de modifications peut être utilisé comme "numéro de construction", et pour chaque fichier, le nombre lui-même reflète la "durée de vie" d'un fichier. Mais dans SVN, la version concerne l'ensemble du référentiel, toute modification des fichiers est effectuée par "opération atom" sur l'ensemble du référentiel, donc si la version du référentiel est 342912, et qu'un nouveau fichier est créé, alors le fichier a un numéro de révision de début de 342912, pas 1 qui est plus intuitif.

Vous pouvez toujours obtenir le nombre de modifications par

FILE_BUILD_NUMBER = `svn log -q FILE | grep r | wc -l` 

Mais ce n'est pas efficace et il est plutôt temps cosuming. Il devrait être facile à implémenter dans la subversion en ajoutant simplement un champ de nombre modifié dans le dépôt, et incrémenter chaque fois qu'un fichier est validé. Alors, cette fonctionnalité est-elle déjà implémentée? Y at-il un mot-clé svn: pour l'agrandir?

+0

J'ai trouvé ceci, http://stackoverflow.com/questions/677436/how-to-get-the-git-commit-count. –

Répondre

1

Non, cela porte atteinte à l'idée de révisions du dépôt au niveau SVN. En fait, le numéro de révision de Subversion est plus utile, car il vous donne un numéro pour identifier l'état du dépôt entier, pas seulement ce fichier. Vous devez simplement accepter que (1) les numéros de rev ne vont pas toujours augmenter de 1, et (2) les numéros de rev ne commenceront pas à 1.

(Il est utile de considérer le numéro de revirement SVN comme un "horodatage" ".)

+0

D'accord. La vision du monde de l'OP est faussée. Un programme (habituellement!) N'est pas un seul fichier, mais une grande collection de fichiers. Le nombre de révisions d'un fichier n'est pas pertinent. Un nombre unique et croissant identifiant votre état de projet complet est beaucoup plus intéressant. –

3

La réponse courte: Non