Manuals

Configuration des projets

Propriétés Subversion

Figure 4.37. Page de propriété de subversion

Page de propriété de subversion


Vous pouvez lire et définir les propriétés Subversion à partir de la boîte de dialogue de propriétés de Windows, mais aussi depuis TortoiseSVNPropriétés et au sein des listes de statut de TortoiseSVN, depuis Menu contextuelPropriétés.

Vous pouvez ajouter vos propres propriétés, ou des propriétés avec une signification spéciale pour Subversion. Celles-ci commencent par svn:. svn:externals est une de ces propriétés ; regardez comment manipuler les éléments externes dans la section intitulée « Éléments externes ».

svn:keywords

Subversion supporte le développement de mots-clés, comme dans CVS, ce qui peut être utilisé pour intégrer des informations sur le nom de fichier et la révision dans le fichier lui-même. Les mots-clés actuellement supportés sont :

$Date$

Dernière date de livraison connue. Cette information est obtenue quand vous mettez à jour votre copie de travail. On ne vérifie pas le dépôt pour trouver d'éventuels changements plus récents.

$Revision$

Révision de la dernière livraison connue.

$Author$

Auteur qui a fait la dernière livraison connue.

$HeadURL$

Le chemin complet de ce fichier dans le dépôt.

$Id$

Une combinaison raccourcie des quatre mots-clés précédents.

Pour savoir comment utiliser ces mots-clés, voyez la section sur svn:keywords dans le livre de Subversion, qui fournit une description complète de ces mots-clés et de comment les activer et les utiliser.

Pour plus d'informations à propos des propriétés dans Subversion, voyez la section sur les propriétés.

Ajouter et modifier des propriétés

Figure 4.38. Ajouter des propriétés

Ajouter des propriétés


Pour ajouter une nouvelle propriété, cliquez d'abord sur Nouveau.... Sélectionnez le nom de la propriété voulue à partir du menu, puis remplissez les informations requises dans la boîte de dialogue de propriété spécifique. Ces boîtes de dialogue de propriétés spécifiques sont décrites plus en détail dans la section intitulée « Éditeurs de propriétés » .

Pour ajouter une propriété qui ne possède pas sa propre boîte de dialogue, choisissez Autre dans le menu Nouveau.... Ensuite, sélectionnez une propriété existante dans la liste déroulante ou saisissez un nom de propriété personnalisée.

Si vous voulez appliquer une propriété à plusieurs éléments à la fois, sélectionnez les fichiers/dossiers dans l'explorateur, puis sélectionnez Menu contextuelPropriétés.

Si vous voulez appliquer la propriété à tous les fichiers et dossiers au-dessous du dossier actuel dans la hiérarchie , cochez la case Récursive.

Si vous voulez éditer une propriété existante, sélectionnez cette propriété dans la liste des propriétés existantes, puis cliquez sur Editer....

Si vous voulez supprimer une propriété existante, sélectionnez cette propriété dans la liste des propriétés existantes, puis cliquez sur Effacer.

La propriété svn:externals peut être utilisée pour intégrer d'autres projets du même dépôt ou d'un dépôt complètement différent. Pour plus d'informations, lisez la section intitulée « Éléments externes ».

Editer les propriétés de la révision HEAD

Parce que les propriétés sont versionnées, vous ne pouvez pas modifier les propriétés des révisions précédentes. Si vous regardez les propriétés dans la boîte de dialogue du journal (log) ou d'une révision non-HEAD dans le navigateur de dépôt, vous verrez une liste de propriétés et de valeurs, mais pas de contrôles d'édition.

Exporter et importer des propriétés

Souvent, vous vous retrouverez à appliquer le même ensemble de propriétés de nombreuses fois, par exemple bugtraq:logregex. Pour simplifier le processus de copie des propriétés d'un projet à l'autre, vous pouvez utiliser la fonctionnalité Exporter/Importer.

A partir du fichier ou du dossier où les propriétés sont déjà définies, utilisez TortoiseSVNPropriétés, sélectionnez les propriétés que vous souhaitez exporter et cliquez sur Exporter.... Vous serez invité à entrer un nom de fichier où les noms et les valeurs des propriétés seront sauvegardés.

Dans le(s) dossier(s) où vous souhaitez appliquer ces propriétés, utilisez TortoiseSVNpropriétés et cliquez sur Importer.... Vous serez invité à entrer un nom de fichier à importer. Naviguez alors vers le lieu où vous avez enregistré précédemment le fichier d'exportation et sélectionnez-le. Les propriétés seront ajoutées aux dossiers de manière non récursive.

Si vous souhaitez ajouter des propriétés à une arborescence de manière récursive, suivez les étapes ci-dessus, puis dans la boîte de dialogue de propriété, sélectionnez chaque propriété, cliquez sur Modifier..., cochez la case Appliquer la propriété récursivement et cliquez sur OK.

Le format de fichier d'importation est binaire et propriétaire à TortoiseSVN. Son seul but est de transférer les propriétés en utilisant les commandes Importer et Exporter, de sorte qu'il n'est pas nécessaire de modifier ces fichiers.

Propriétés binaires

TortoiseSVN peut manipuler des valeurs de propriété binaires en utilisant des fichiers. Pour lire une valeur de propriété binaire, Enregistrer... vers un fichier. Pour mettre une valeur binaire, utilisez un éditeur hexadécimal ou un autre outil approprié pour créer un fichier avec le contenu dont vous avez besoin, puis Charger... ce fichier.

Bien que les propriétés binaires ne soient pas très utilisées, elles peuvent être utiles dans certaines applications. Par exemple si vous stockez d'énormes fichiers graphiques ou si l'application utilisée pour charger le fichier est énorme, vous pourriez vouloir stocker un aperçu en tant que propriété pour obtenir une prévisualisation rapide.

Configuration automatique des propriétés

Vous pouvez configurer Subversion et TortoiseSVN pour définir automatiquement des propriétés sur les fichiers et sur les dossiers lorsqu'ils sont ajoutés au dépôt. Il y a deux manières de faire cela.

Vous pouvez éditer le fichier de configuration de Subversion pour activer cette fonctionnalité sur votre client. La page Général de la boîte de dialogue de paramètres de TortoiseSVN a un bouton Editer pour vous y amener directement. Le fichier de configuration est un simple fichier texte qui contrôle certains aspects du fonctionnement de Subversion. Vous devez modifier deux choses : premièrement, dans la section miscellany, décommentez la ligne enable-auto-props = yes. Deuxièmement, vous devez éditer la section suivante pour définir quelles propriétés vous voulez ajouter à quels types de fichier. Cette méthode est une fonctionnalité standard de Subversion et fonctionne avec tous les clients Subversion. Cependant, elle doit être définie individuellement sur chaque client — il n'est pas possible de propager ce paramétrage depuis le dépôt.

Une autre méthode consiste à définir la propriété tsvn:autoprops sur les dossiers, tel que décrit dans la section suivante. Cette méthode ne fonctionne que pour les clients TortoiseSVN, mais elle se propage à toutes les copies de travail à l'occasion d'une mise à jour.

Depuis Subversion1.8, vous pouvez aussi définir la propriété svn:auto-props sur le dossier racine. Tous les éléments fils héritent automatiquement de la valeur de la propriété.

Quelle que soit la méthode que vous choisissez, vous devez savoir que les propriétés automatiques sont uniquement appliquées aux fichiers au moment où ils sont ajoutés à la copie de travail. Les propriétés automatiques ne changeront jamais les propriétés de fichiers qui sont déjà versionnés.

Si vous voulez être absolument sûr que les nouveaux fichiers ont les bonnes propriétés appliquées, vous devez mettre en place un script hook pré-livraison sur le dépôt pour rejeter les livraisons quand les propriétés requises ne sont pas définies.

Livrer les propriétés

Les propriétés de Subversion sont versionnées. Après avoir changé ou ajouté une propriété, vous devez livrer vos changements.

Conflits sur les propriétés

S'il y a un conflit en livrant les changements, parce qu'un autre utilisateur a changé la même propriété, Subversion génère un fichier .prej. Supprimez ce fichier après avoir résolu le conflit.

Propriétés de projet TortoiseSVN

TortoiseSVN a quelques propriétés spéciales de son cru et elles commencent par tsvn:.

  • tsvn:logminsize définit la longueur minimale d'un commentaire pour une livraison. Si vous entrez un message plus court qu'indiqué ici, la livraison est désactivée. Cette fonctionnalité est très utile pour vous rappeler de fournir un message descriptif approprié à chaque livraison. Si cette propriété n'est pas définie, ou si la valeur est zéro, les commentaires vides sont autorisés.

    tsvn:lockmsgminsize définit la longueur minimale d'un commentaire pour un verrouillage. Si vous entrez un message plus court qu'indiqué ici, le verrouillage est désactivé. Cette fonctionnalité est très utile pour vous rappeler de fournir un message descriptif approprié à chaque fois que vous positionnez un verrou. Si cette propriété n'est pas définie, ou si la valeur est zéro, les commentaires de verrouillage vides sont autorisés.

  • tsvn:logwidthmarker est utilisé avec les projets qui exigent que les commentaires soient formatés avec une certaine largeur maximale (généralement 80 caractères) avant un saut de ligne. Définir cette propriété à une valeur non nulle fera 2 choses dans la boîte de dialogue d'entrée de commentaire : cela placera un marqueur pour indiquer la largeur maximale et cela désactivera le retour à la ligne automatique dans l'affichage, pour que vous puissiez voir si le texte que vous avez saisi est trop long. Note : cette fonctionnalité ne marchera correctement que si vous avez choisi une police à largeur de caractères fixe pour les commentaires.

  • tsvn:logtemplate est utilisé avec les projets qui ont des règles de formatage des commentaires. La propriété contient une chaîne de caractères multi-ligne qui sera insérée dans le champ de message de la livraison quand vous commencez une livraison. Vous pouvez alors l'éditer pour inclure les informations requises. Note : si vous utilisez aussi tsvn:logminsize, assurez-vous de définir une longueur plus longue que le modèle ou vous perdrez le mécanisme de protection.

    Il ya aussi des modèles d'action spécifique que vous pouvez utiliser au lieu de tsvn:logtemplate . Les modèles d'actions spécifiques sont utilisés s'il sont activés, mais tsvn:logtemplate sera utilisé si aucun modèle d'action spécifique est défini.

    Les modèles d'action spécifiques sont les suivants:

    • tsvn:logtemplatecommit est utilisé pour toutes les livraisons à partir d'une copie de travail.

    • tsvn:logtemplatebranch est utilisé lorsque vous créez une branche / étiquette, ou lorsque vous copiez des fichiers ou des dossiers directement dans l'explorateur de dépôt.

    • tsvn:logtemplateimport est utilisé pour les importations.

    • tsvn:logtemplatedelete est utilisé lors de la suppression d'éléments directement dans l'explorateur de dépôt.

    • tsvn:logtemplatemove est utilisé lors du renommage ou du déplacement d'éléments dans l'explorateur de dépôt.

    • tsvn:logtemplatemkdir est utilisé lors de la création de répertoires dans l'explorateur de dépôt.

    • tsvn:logtemplatepropset est utilisé lors de la modification de propriétés dans l'explorateur de dépôt.

    • tsvn:logtemplatelock est utilisé lors de la pose d'un verrou.

  • Subversion vous permet de positionner des « autoprops » qui seront appliquées aux fichiers nouvellement ajoutés ou importés, en fonction de l'extension du fichier. Cela requiert que chaque client ait positionné des autoprops adéquates dans leur fichier de configuration de Subversion. Des tsvn:autoprops peuvent être positionnées sur des dossiers, et elles seront fusionnées avec les autoprops locales de l'utilisateur au moment de l'importation ou de l'ajout de fichiers. Le format est le même que pour les autoprops de Subversion, par exemple *.sh = svn:eol-style=native;svn:executable positionne deux propriétés sur les fichiers qui ont l'extension .sh.

    S'il y a un conflit entre les autoprops locales et tsvn:autoprops, les propriétés de projet ont la priorité car elles sont spécifiques à ce projet.

    Depuis Subversion 1.8, vous devriez utiliser la propriété svn:auto-props à la place de tsvn:autoprops, car la fonctionnalité est identique, mais elle fonctionne avec tous les clients svn et n'est pas spécifique à TortoiseSVN.

  • Dans la boîte de dialogue Livrer, vous avez une option pour coller la liste des fichiers changés, en incluant le statut de chaque fichier (ajouté, modifié, etc). tsvn:logfilelistenglish définit si le statut de fichier est inséré en anglais ou dans la langue locale. Si la propriété n'est pas définie, la valeur par défaut est true.

  • TortoiseSVN peut utiliser un vérificateur d'orthographe. Sous Windows 10, le vérificateur d'orthographe du système d'exploitation est utilisé. Sous les versions antérieures de Windows, il peut utiliser les modules de vérification d'orthographe qui sont également utilisés par OpenOffice et Mozilla. Si vous les avez installés, cette propriété déterminera quel vérificateur d'orthographe utiliser, c'est-à-dire dans quelle langue les messages de commentaire de votre projet doivent être écrits. tsvn:projectlanguage définit le module de langue que le vérificateur d'orthographe doit utiliser quand vous saisissez un message de log. Vous pouvez trouver les valeurs de langue sur cette page : MSDN: Language Identifiers.

    Vous pouvez saisir cette valeur en décimal, ou en hexadécimal si elle est préfixée avec 0x. Par exemple l'anglais (États-Unis) peut être entré comme 0x0409 ou 1033.

  • La propriété tsvn:logsummary est utilisée pour extraire une partie des commentaires étant destinée à être utilisée comme résumé dans la fenêtre des commentaires.

    La valeur de la propriété tsvn:logsummary doit être une expression régulière d'une ligne contenant un groupe. Tout ce qui correspond à ce groupe sera utilisé comme résumé.

    Un exemple : \[SUMMARY\]:\s+(.*) gardera tout ce qui est après « [SUMMARY] » dans le commentaire et l'utilisera comme résumé.

  • La propriété tsvn:logrevregex définit une expression régulière qui compare les références aux révisions dans un message de log. Ceci est utilisé dans le dialogue de log pour passer ces références en liens qui, lorsqu'il sont cliqués, soit amènent à cette révision (si la révision est déjà affichée dans la boîte de dialogue du log, ou si elle est disponible à partir du cache de log) soit ouvrent une nouvelle boîte de dialogue montrant cette révision.

    L'expression régulière doit correspondre à la référence entière, pas seulement au numéro de révision. Le numéro de révision est extrait de la chaîne de référence automatiquement.

    Si cette propriété n'est pas définie, une expression régulière par défaut est utilisée pour lier les références de révision.

  • Il existe plusieurs propriétés qui permettent de configurer des scripts hook côté client. Chaque propriété concerne un type spécifique de script hook.

    Les propriétés / scripts disponibles sont

    • tsvn:startcommithook
    • tsvn:precommithook
    • tsvn:postcommithook
    • tsvn:startupdatehook
    • tsvn:preupdatehook
    • tsvn:postupdatehook
    • tsvn:prelockhook
    • tsvn:postlockhook

    Les paramètres sont les mêmes que si vous configuriez les scripts hook dans la boîte de dialogue de paramètres. Voyez la section intitulée « Scripts hook côté client » pour les détails.

    Comme tous les utilisateurs n'ont pas extrait leur copie de travail au même emplacement avec le même nom, vous pouvez configurer un script ou un outil à exécuter situé dans votre copie de travail en spécifiant à la place l'URL dans le dépôt, en utilisant %REPOROOT% pour la partie de l'URL correspondant à la racine du dépôt. Par exemple, si votre script hook est dans votre copie de travail sous contrib/hook-scripts/client-side/checkyear.js, vous spécifieriez le chemin vers le script comme étant %REPOROOT%/trunk/contrib/hook-scripts/client-side/checkyear.js. De cette façon, même si vous déplacez votre dépôt sur un autre serveur, vous n'avez pas besoin de rectifier les propriétés du script hook.

    Au lieu de %REPOROOT%, vous pouvez également indiquer %REPOROOT+%. Le + permet d'insérer dans le chemin autant de dossiers que nécessaire pour trouver le script. C'est utile si vous voulez définir votre script de telle sorte que si vous créez une branche, le script reste trouvable, alors même que l'URL de la copie de travail a changé. Dans l'exemple ci-dessus, vous définiriez le chemin vers le script comme %REPOROOT+%/contrib/hook-scripts/client-side/checkyear.js.

    La capture d'écran suivante montre comment le script de vérification de l'année de copyright dans les en-têtes des fichiers sources est configuré pour TortoiseSVN.

    Figure 4.39. Boîte de dialogue de propriétés pour les scripts hook

    Boîte de dialogue de propriétés pour les scripts hook


  • Lorsque vous souhaitez ajouter une nouvelle propriété, vous pouvez soit en choisir une dans la liste déroulante, soit ajouter n'importe quel nom de propriété qui vous convient. Si votre projet utilise certaines propriétés personnalisées, et que vous voulez que ces propriétés apparaissent dans la liste déroulante (pour éviter les fautes de frappe lorsque vous entrez un nom de propriété), vous pouvez créer une liste de vos propriétés personnalisées à l'aide tsvn:userfileproperties et tsvn:userdirproperties. Appliquez ces propriétés à un dossier. Quand vous éditez les propriétés de n'importe quel élément enfant, vos propriétés personnalisées apparaissent dans la liste des propriétés prédéfinies.

    Vous pouvez également spécifier si une boîte de dialogue personnalisée est utilisée pour ajouter ou éditer votre propriété. TortoiseSVN propose quatre modèles de boîtes de dialogue différents, en fonction du type de votre propriété.

    bool

    Si votre propriété ne peut avoir que deux états, par exemple true (vrai) et false (faux), vous pouvez la configurer avec un type booléen.

    Figure 4.40. Boîte de dialogue de propriété utilisateur de type booléen

    Boîte de dialogue de propriété utilisateur de type booléen


    Spécifiez votre propriété comme ceci :

    nom de propriété=bool;texte du label(VALEUROUI;VALEURNON;texte de la case à cocher)

    Le texte du label est le texte affiché dans la boîte de dialogue au-dessus de la case à cocher, dans lequel vous pouvez expliquer l'objet de la propriété et son utilisation. Les autres paramètres devraient être auto-explicatifs.

    state

    Si votre propriété représente un état parmi plusieurs possibles, par exemple oui, non, peut-être, alors vous pouvez configurer votre propriété avec un type état.

    Figure 4.41. Boîtes de dialogue de propriété utilisateur de type état

    Boîtes de dialogue de propriété utilisateur de type état
    Boîtes de dialogue de propriété utilisateur de type état
    Boîtes de dialogue de propriété utilisateur de type état


    Spécifiez votre propriété comme ceci :

    nom de propriété=state;texte du label(VALDEF;VAL1;TEXTE1;VAL2;TEXTE2;VAL3;TEXTE3;...)

    Les paramètres sont les mêmes que pour la propriété booléenne, et VALDEF est la valeur par défaut à utiliser si la propriété n'est pas encore définie ou a une valeur qui n'est pas configurée.

    Jusqu'à trois valeurs différentes, la boîte de dialogue affiche des boutons radio. S'il y a plus de valeurs configurées, elle utilise une liste déroulante dans laquelle l'utilisateur peut sélectionner l'état désiré.

    singleline

    Pour les propriétés qui consistent en une seule ligne de texte, utilisez le type de propriété ligne unique :

    Figure 4.42. Boîte de dialogue de propriété utilisateur de type ligne unique

    Boîte de dialogue de propriété utilisateur de type ligne unique


    nom de propriété=singleline;texte du label(regex)

    La regex spécifie une expression régulière qui est utilisée pour valider (par correspondance) le texte que l'utilisateur a saisi. Si le texte ne correspond pas avec la regex, alors une erreur est retournée à l'utilisateur et la propriété n'est pas positionnée.

    multiline

    Pour des propriétés qui consistent en plusieurs lignes de texte, utilisez le type de propriété multi-lignes :

    Figure 4.43. Boîte de dialogue de propriété utilisateur de type multi-lignes

    Boîte de dialogue de propriété utilisateur de type multi-lignes


    nom de propriété=multiline;texte du label(regex)

    La regex spécifie une expression régulière qui est utilisée pour valider (par correspondre) le texte que l'utilisateur a saisi. N'oubliez pas d'inclure le caractère de retour à la ligne (\n) dans la regex !

    Les captures d'écran ci-dessus ont été faites avec les tsvn:userdirproperties suivantes :

    my:boolprop=bool;This is a bool type property. Either check or uncheck it.(true;false;my bool prop)
    my:stateprop1=state;This is a state property. Select one of the two states.(true;true;true value;false;false value)
    my:stateprop2=state;This is a state property. Select one of the three states.(maybe;true;answer is correct;false;answer is wrong;maybe;not answered)
    my:stateprop3=state;Specify the day to set this property.(1;1;Monday;2;Tuesday;3;Wednesday;4;Thursday;5;Friday;6;Saturday;7;Sunday)
    my:singlelineprop=singleline;enter a small comment(.*)
    my:multilineprop=multiline;copy and paste a full chapter here(.*)
                

TortoiseSVN peut s'intégrer avec certains outils de suivi de bogue. Cela utilise des propriétés qui commencent par bugtraq:. Lisez la section intitulée « Intégration avec des systèmes de gestion de bug / gestion d'incidents » pour plus d'informations.

Il peut aussi s'intégrer avec certains explorateurs de dépôt en ligne, en utilsant des propriétés qui commencent par webviewer:. Lisez la section intitulée « Intégration avec des visionneuses de dépôt web » pour plus d'informations.

Positionner les propriétés de projet dans les dossiers

Ces propriétés de projet spéciales doivent être appliquées aux dossiers pour que le système fonctionne. Lorsque vous utilisez une commande TortoiseSVN qui utilise ces propriétés, celles-ci sont lues dans le dossier où vous avez cliqué. S'il n'y trouve pas les propriétés, TortoiseSVN les cherchera en remontant l'arborescence jusqu'à ce qu'il atteigne un répertoire non versionné, ou la racine d'un lecteur (par exemple C:\). Si vous êtes certain que les utilisateurs extraient seulement à partir, par exemple, de trunk/ et pas d'un sous-dossier, alors il suffit de positionner les propriétés sur trunk/. Au contraire, si vous n'êtes pas certain, il est recommandé de positionner les propriétés récursivement sur chaque sous-répertoire. Si vous positionnez la même propriété avec des valeurs différentes à différents niveaux de la hiérarchie du projet, vous obtiendrez des résultats différents par rapport à l'emplacement dans la structure de répertoire.

Pour les propriétés de projet uniquement, c'est-à-dire tsvn:, bugtraq: et webviewer: vous pouvez utiliser la case à cocher Récursif pour appliquer la propriété à tous les sous-dossiers, sans avoir à la mettre aussi sur tous les fichiers.

Lorsque vous ajoutez un nouveau sous-dossier à une copie de travail via TortoiseSVN, toutes les propriétés de projet du dossier parent seront automatiquement ajoutées à ce nouveau dossier fils.

Limitations de l'utilisation de l'explorateur de dépôt

Récupérer des propriétés à distance est une opération lente, ainsi certaines des caractéristiques décrites ci-dessus ne fonctionnent pas dans l'explorateur de dépôt comme elles le font dans une copie de travail.

  • Lorsque vous ajoutez une propriété en utilisant l'explorateur de dépôt, seules les propriétés standard svn: sont affichées dans la liste pré-définie. Tout autre nom de propriété doit être saisi manuellement.

  • Les propriétés ne peuvent pas être renseignées ou supprimées récursivement via l'explorateur de dépôt.

  • Les propriétés du projet ne seront pas propagées automatiquement quand un dossier enfant est ajouté en utilisant l'explorateur de dépôt.

  • tsvn:autoprops ne renseignera pas les propriétés des fichiers ajoutés grâce à l'explorateur de dépôt.

Attention

Bien que les propriétés de projet TortoiseSVN soient extrêmement utiles, elles fonctionnent uniquement avec TortoiseSVN, et certaines ne fonctionnent que dans les versions les plus récentes de TortoiseSVN. Si les personnes qui travaillent sur votre projet utilisent une variété de clients Subversion, ou disposent peut-être d'anciennes versions de TortoiseSVN, vous devriez utiliser des hooks sur le dépôt pour faire appliquer les politiques du projet. Les propriétés de projet ne peuvent que contribuer à mettre en œuvre une politique, elles ne peuvent pas l'imposer.

Éditeurs de propriétés

Certaines propriétés doivent utiliser des valeurs spécifiques, ou être formatées d'une manière spécifique afin d'être utilisées pour l'automatisation. Pour obtenir plus facilement le formatage correct, TortoiseSVN présente pour certaines propriétés particulières des boîtes de dialogue d'édition qui montrent les valeurs possibles ou qui décomposent chaque composant de la propriété.

Contenu externe

Figure 4.44. Page de propriété svn:externals

Page de propriété svn:externals


La propriété svn:externals peut être utilisée pour intégrer d'autres projets du même dépôt ou d'un dépôt complètement différent comme décrit dans la section intitulée « Éléments externes » .

Vous devez définir le nom du sous-dossier sous lequel le dossier externe est extrait, et l'URL Subversion de l'élément externe. Vous pouvez extraire un externe à sa révision HEAD, de sorte que quand l'élément externe change dans le dépôt, votre copie de travail obtiendra ces changements à la mise à jour suivante. Cependant, si vous voulez que l'externe fasse référence à une version stable particulière, alors vous pouvez spécifier la révision spécifique à utiliser. Dans ce cas, vous voudrez peut-être aussi définir cette même révision comme révision pivot. Si l'élément externe est renommé ultérieurement, alors Subversion ne pourra pas mettre à jour cet élément dans votre copie de travail. En spécifiant une révision pivot, vous dites à Subversion de rechercher un élément qui portait ce nom à la révision pivot plutôt qu'à la révision HEAD.

Le bouton Trouver la révision HEAD récupère la révision HEAD de toutes les URL externes et affiche cette révision HEAD dans la colonne de droite. Une fois que la révision HEAD est connue, un simple clic droit sur un externe vous propose la commande pour définir leur révision HEAD explicite comme révision pivot des externes sélectionnés. Si la révision HEAD n'est pas encore connue, la commande avec le clic droit commencera par récupérer la révision HEAD.

Mots-clés SVN

Figure 4.45. Page de propriété svn:keywords

Page de propriété svn:keywords


Sélectionnez les mots-clés que vous voudriez voir développés dans votre fichier.

Style de caractère de fin de ligne

Figure 4.46. Page de propriété svn:eol-style

Page de propriété svn:eol-style


Sélectionnez le style de fin de ligne que vous souhaitez utiliser et TortoiseSVN utilisera la valeur de propriété correcte.

Intégration d'un gestionnaire d'incidents

Figure 4.47. Page de propriété tsvn:bugtraq

Page de propriété tsvn:bugtraq


Taille des messages de log

Figure 4.48. Page de propriété de taille des messages de log

Page de propriété de taille des messages de log


Ces 3 propriétés contrôlent le format des messages de log. Les 2 premières désactivent le OK dans les boîtes de dialogue de livraison et de verrouillage jusqu'à ce que le message atteigne la taille minimum. La propriété de position de bordure affiche un marqueur à la largeur de colonne définie pour servir de guide aux projets qui ont des limites de largeur à leurs messages de log. Positionner une valeur à zéro effacera la propriété.

Langue de projet

Figure 4.49. Page de propriété de langue

Page de propriété de langue


Choisissez la langue à utiliser pour vérifier l'orthographe des messages de log dans la boîte de dialogue de livraison. La case à cocher de listes de fichier entre en compte quand vous faites un clic droit sur le volet de message de log et que vous sélectionnez Coller la liste de fichiers. Par défaut, le statut Subversion sera affiché dans votre langue locale. Quand cette case est cochée, le statut est toujours fourni en anglais, pour les projets qui requièrent des messages de log uniquement en anglais.

Type MIME

Figure 4.50. Page de propriété svn:mime-type

Page de propriété svn:mime-type


svn:needs-lock

Figure 4.51. Page de propriété svn:needs-lock

Page de propriété svn:needs-lock


Cette propriété contrôle simplement si un fichier sera extrait en mode lecture seule en l’absence d'un verrou pour ce fichier dans la copie de travail.

svn:executable

Figure 4.52. Page de propriété svn:executable

Page de propriété svn:executable


Cette propriété contrôle si le statut exécutable sera donné à un fichier lorsqu'il sera extrait sur un système Unix/Linux. Cela n'a pas d'effet sur une extraction sous Windows.

Fusionner les modèles de message de journal

Quand des révisions sont fusionnées dans une copie de travail, TortoiseSVN génère un message de log à partir de toutes les révisions fusionnées. Ces messages sont alors disponibles depuis le bouton Messages récents dans la boîte de dialogue de livraison.

Vous pouvez personnaliser le message généré avec les propriétés suivantes :

Figure 4.53. Boîte de dialogue de propriété de modèles de message de fusion

Boîte de dialogue de propriété de modèles de message de fusion


tsvn:mergelogtemplatetitle, tsvn:mergelogtemplatereversetitle

Cette propriété spécifie la première partie du message de journal généré. On peut utiliser les mots-clés suivants :

{revisions}

Une liste séparée par des virgules des révisions fusionnées, par exemple 3, 5, 6, 7

{revisionsr}

Comme {revisions}, mais avec chaque révision précédée d'un r, par exemple r3, r5, r6, r7

{revrange}

Une liste séparée par des virgules des révisions fusionnées, regroupées dans des plages quand c'est possible, par exemple 3, 5-7

{mergeurl}

L'URL source de la fusion, c'est-à-dire à partir de laquelle les révisions sont fusionnées.

La valeur par défaut pour cette chaîne est Merged revision(s) {revrange} from {mergeurl}: avec un retour à la ligne à la fin.

tsvn:mergelogtemplatemsg

Cette propriété spécifie à quoi devrait ressembler le texte pour chaque révision fusionnée. On peut utiliser les mots-clés suivants :

{msg}

Le message de journal de la révision fusionnée, tel qu'il a été saisi.

{msgoneline}

Comme {msg}, mais tous les retours à la ligne sont remplacés par des espaces, de sorte que l'ensemble du message de journal apparaît sur une seule ligne.

{author}

L'auteur de la révision fusionnée.

{rev}

La révision fusionnée elle-même.

{bugids}

Les ID de bogues de la révision fusionnée, s'il en existe.

tsvn:mergelogtemplatemsgtitlebottom

Cette propriété spécifie la position de la chaîne titre spécifiée dans la propriété tsvn:mergelogtemplatetitle ou tsvn:mergelogtemplatereversetitle. Si la propriété est positionnée à yes (oui) ou true (vrai), alors la chaîne titre est ajoutée à la fin au lieu du début.

Important

Cela ne fonctionne que si les révisions fusionnées sont déjà dans le cache du journal. Si vous avez désactivé le cache du journal ou que vous n'avez pas affiché le journal avant la fusion, le message généré ne contiendra aucune information sur les révisions fusionnées.

TortoiseSVN homepage