Inclusion de la Révision SVN dans Votre Version d’Assembly .NET

Dans le monde du développement logiciel, maintenir le contrôle des versions est crucial. Pour ceux qui utilisent Subversion (SVN) comme leur système de contrôle de version, la possibilité d’inclure le numéro de révision du dépôt SVN dans la chaîne de version d’une assembly .NET peut améliorer la traçabilité et faciliter le débogage. Si vous vous êtes déjà demandé, “Y a-t-il un moyen de faire cela sans outils tiers comme CC.NET?”, la réponse est un OUI retentissant.

Le Problème : Versionnage Sans Outils Supplémentaires

Vous avez peut-être rencontré des situations où vous souhaitez que votre chaîne de version ne reflète pas seulement les numéros de version majeurs et mineurs, mais aussi le numéro de révision SVN. Un format de version cible typique que vous pourriez envisager ressemble à ceci :

Majeur.Mineur.RévSVN

Malheureusement, trouver une méthode simple pour y parvenir dans .NET sans logiciel supplémentaire peut être un défi, surtout si vous avez déjà fait quelque chose de similaire dans des langages comme C ou C++. En C/C++, cela pouvait être réalisé en utilisant un script de construction qui mettait à jour un fichier d’en-tête avec le numéro de version.

La Solution : Utiliser SubWCRev

Une façon efficace d’incorporer le numéro de révision SVN dans votre versionnage d’assembly .NET est d’utiliser SubWCRev, un utilitaire inclus avec TortoiseSVN. SubWCRev lit les mots-clés SVN de vos fichiers et les remplace par les informations de révision appropriées pendant le processus de construction.

Guide Étape par Étape pour Mettre en Œuvre SubWCRev

  1. Téléchargez et Configurez TortoiseSVN:

    • Commencez par télécharger TortoiseSVN si ce n’est pas déjà fait.
    • Installez-le sur votre machine pour accéder à l’utilitaire SubWCRev intégré.
  2. Configurez Votre fichier AssemblyInfo.cs:

    • Ouvrez votre fichier AssemblyInfo.cs; ce fichier contient généralement les informations de version de votre assembly.
    • Ajoutez des espaces réservés là où les numéros de version seront remplacés par SubWCRev.

    Exemple:

    [assembly: AssemblyVersion("1.0.0.0")]
    [assembly: AssemblyFileVersion("1.0.0.0")]
    [assembly: AssemblyInformationalVersion("1.0.0.0")]
    
  3. Créez un Fichier Modèle:

    • Créez un nouveau fichier texte (par exemple, VersionInfo.txt) et structurez-le pour définir comment les informations de version doivent être remplies.
    • Utilisez des espaces réservés pour le numéro de révision.

    Exemple de VersionInfo.txt:

    [assembly: AssemblyVersion("${VersionNumber}.0")]
    [assembly: AssemblyFileVersion("${VersionNumber}.0")]
    [assembly: AssemblyInformationalVersion("${VersionNumber}.${Revision}")]
    
  4. Exécutez SubWCRev:

    • Utilisez la commande SubWCRev pour remplacer les espaces réservés dans votre fichier VersionInfo.txt par les numéros de version réels de votre dépôt SVN.
    • Cela peut généralement être fait via la ligne de commande ou inclus dans vos scripts de construction.
  5. Construisez Votre Projet:

    • En construisant votre projet, SubWCRev générera un nouveau AssemblyInfo.cs avec la version remplie avec votre révision SVN.

Conclusion

En intégrant SubWCRev dans votre flux de travail de projet .NET, vous pouvez facilement vous assurer que la chaîne de version de votre assembly inclut le numéro de révision SVN, le tout sans avoir à dépendre de logiciels externes comme CC.NET. Cette approche rend non seulement votre versionnage plus informatif, mais aussi simple et gérable.

Maintenant que vous savez comment inclure le numéro de révision SVN dans votre versionnage d’assembly .NET, essayez-le dans votre prochain projet, et vous apprécierez la clarté qu’il apporte.