Comment gérer des versions en lien avec RCS, CVS, Git ou autres ?#

Si vous utilisez RCS, CVS, Subversion, Bazaar ou Git pour la gestion de version de vos documents ou vous pouvez avoir besoin d’outils automatiques pour insérer le numéro de version dans votre document, de manière à ce qu’il soit placé dans le rendu du document (et pas seulement caché dans un commentaire du document source).

1.  Avec RCS et CVS#

Le solution la plus complète pour RCS et CVS est d’utiliser l’extension rcs, qui vous permet de récupérer et d’afficher le contenu des informations RCS d’une manière très complète et flexible. L’extension rcsinfo est plus simple et suffit pour une utilisation de base, ce qui fait qu’elle a la préférence de certains ; elle se veut compatible avec HTML.

Si cependant vous avez besoin d’une solution qui ne passe pas par l’utilisation d’une extension ou qui fonctionne en pur alors vous pouvez utiliser la solution minimaliste qui suit :

\def\RCS$#1 : #2 ${\expandafter\def\csname RCS#1\endcsname{#2}}
\RCS$Revision : 1.47 $ % ou n'importe quel autre champ RCS
\RCS$Date : 2014/01/28 18:17:23 $
...
\date{Revision \RCSRevision, \RCSDate}

2.  Avec Subversion#

Si vous êtes un utilisateur de Subversion, l’extension svn est la plus adaptée. Elle est capable de gérer automatiquement un certain nombre d’informations concernant la version utilisée :

\documentclass{⟨foo⟩}
...
\usepackage{svn}
\SVNdate $Date$
\author{...}
\title{...}
...
\begin{document}
\maketitle
...
\end{document}

Si le document source a été géré avec Subversion, la commande \maketitle utilisera automatiquement la date placée dans le champ $Date$ de Subversion.

Une autre possibilité pour les utilisateurs de Subversion est d’utiliser l’extension svninfo qui possède à peu près les mêmes fonctionnalités que svn mais obéit à une autre logique. Elle peut, elle aussi, récupérer automatiquement la date (grâce à une option à l’appel de l’extension) et peut afficher des informations en pied de page grâce à l’extension fancyhdr vue à la question « Comment définir les hauts et bas de page ? ».

Il est difficile de trancher entre ces deux extensions : à vous de consulter la documentation de chacune pour déterminer laquelle vous conviendra le mieux.

3.  Avec Git#

Les extensions gitinfo2 et gitver permettent de prendre en charge les documents gérés avec Git.

4.  Une solution plus générale#

Il est aussi possible d’utiliser un système de script comme celui proposé par l’extension vc qui peut, dans certaines circonstances, se révéler plus fiable que les extensions citées ci-dessus. L’extension vc est compatible avec Bazaar (c’est la seule extension qui le soit), Git et Subversion et elle fonctionne à la fois avec et