Parfois vous voulez avoir des informations plus détaillées sur un fichier/répertoire qu'un recouvrement d'icône. Vous pouvez obtenir toutes les informations que Subversion fournit dans la boîte de dialogue de propriétés de l'explorateur. Sélectionnez seulement le fichier ou le répertoire et choisissez → dans le menu contextuel (note : c'est l'entrée de menu de propriétés standard que l'explorateur fournit, pas celle du sous-menu TortoiseSVN !). Dans la boîte de dialogue de propriétés, TortoiseSVN a ajouté une nouvelle page de propriété pour les fichiers/dossiers sous le contrôle de Subversion où vous verrez toutes les informations pertinentes concernant le fichier/répertoire sélectionné.
You can read and set the Subversion properties from the Windows properties dialog, but also from → and within TortoiseSVN's status lists, from → .
You can add your own properties, or some properties with a special meaning in Subversion. These begin with svn:. svn:externals is such a property; see how to handle externals in la section intitulée « Eléments externes ».
Subversion supports CVS-like keyword expansion which can be used to embed filename and revision information within the file itself. Keywords currently supported are:
Dernière date de livraison connue. Cette information est obtenue quand vous mettez à jour votre copie de travail. Elle ne vérifie pas le référentiel pour trouver d'éventuels changements récents.
Révision de la dernière livraison connue.
Auteur qui a fait la dernière livraison connue.
Le chemin complet de ce fichier dans le référentiel.
Une combinaison raccourcie des quatres mot clés précédents.
To find out how to use these keywords, look at the svn:keywords section in the Subversion book, which gives a full description of these keywords and how to enable and use them.
For more information about properties in Subversion see the Special Properties.
Pour ajouter une nouvelle propriété, cliquez d'abord sur Ajouter.... Choisissez le nom de la propriété requise depuis la liste, ou tapez le nom de votre choix, entrez ensuite une valeur dans le champ en dessous. Les propriétés qui prennent des valeurs multiples, comme la liste des ignorés, peuvent être saisies sur plusieurs lignes. Cliquez sur pour ajouter la propriété à la liste.
Si vous voulez appliquer une propriété à plusieurs éléments à la fois, sélectionnez les fichiers/dossiers dans l'explorateur, puis choisissez →
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.
Certaines propriétés, par exemple svn:needs-lock, peuvent seulement être appliquées aux fichiers, donc le nom de la propriété n'apparaît pas dans la liste déroulante pour les dossiers. Vous pouvez toujours appliquer une telle propriété récursivement à tous les fichiers d'une hiérarchie, mais vous devez taper le nom de la propriété vous même.
Si vous voulez éditer une propriété existante, sélectionnez cette propriété dans la liste des propriétés existantes, puis cliquez sur .
Si vous voulez supprimer une propriété existante, sélectionnez cette propriété dans la liste des propriétés existantes, puis cliquez sur .
The svn:externals property can be used to pull in other projects from the same repository or a completely different repository. For more information, read la section intitulée « Eléments externes ».
Often you will find yourself applying the same set of properties many times, for example bugtraq:logregex. To simplify the process of copying properties from one project to another, you can use the Export/Import feature.
From the file or folder where the properties are already set, use → , select the properties you wish to export and click on . You will be prompted for a filename where the property names and values will be saved.
From the folder(s) where you wish to apply these properties, use → and click on . You will be prompted for a filename to import from, so navigate to the place you saved the export file previously and select it. The properties will be added to the folders non-recursively.
If you want to add properties to a tree recursively, follow the steps above, then in the property dialog select each property in turn, click on , check the Apply property recursively box and click on .
The Import file format is binary and proprietary to TortoiseSVN. Its only purpose is to transfer properties using Import and Export, so there is no need to edit these files.
TortoiseSVN peut manipuler des valeurs de propriété binaires en utilisant des fichiers. Pour lire une valeur de propriété binaire, 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 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.
You can configure Subversion and TortoiseSVN to set properties automatically on files and folders when they are added to the repository. There are two ways of doing this.
You can edit the subversion configuration file to enable this feature on your client. The General page of TortoiseSVN's settings dialog has an edit button to take you there directly. The config file is a simple text file which controls some of subversion's workings. You need to change two things: firstly in the section headed miscellany uncomment the line enable-auto-props = yes. Secondly you need to edit the section below to define which properties you want added to which file types. This method is a standard subversion feature and works with any subversion client. However it has to be defined on each client individually - there is no way to propagate these settings from the repository.
An alternative method is to set the tsvn:autoprops property on folders, as described in the next section. This method only works for TortoiseSVN clients, but it does get propagated to all working copies on update.
Whichever method you choose, you should note that auto-props are only applied to files at the time they are added to the repository. Auto-props will never change the properties of files which are already versioned.
If you want to be absolutely sure that new files have the correct properties applied, you should set up a repository pre-commit hook to reject commits where the required properties are not set.
Les propriétés de Subversion sont versionnées. Après avoir changé ou ajouté une propriété, vous devez livrer vos changements.
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.
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 commentaire de verrou. Si vous entrez un message plus court qu'indiqué ici, le verrouillage est désctivé. Cette fonctionnalité est très utile pour vous rappeler de fournir un message descriptif approprié à chaque verrou. Si cette propriété n'est pas définie, ou si la valeur est zéro, les commentaires de verrou 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 fonction ne fonctionnera 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.
Subversion allows you to set « autoprops » which will be applied to newly added or imported files, based on the file extension. This depends on every client having set appropriate autoprops in their subversion configuration file. tsvn:autoprops can be set on folders and these will be merged with the user's local autoprops when importing or adding files. The format is the same as for subversion autoprops, e.g. *.sh = svn:eol-style=native;svn:executable sets two properties on files with the .sh extension.
S'il y a un conflit en les propriétés autoprops locales et tsvn:autoprops, les propriétés du projet ont la priorité car elles lui sont spécifiques.
In the Commit dialog you have the option to paste in the list of changed files, including the status of each file (added, modified, etc). tsvn:logfilelistenglish defines whether the file status is inserted in English or in the localized language. If the property is not set, the default is true.
TortoiseSVN can use spell checker modules which are also used by OpenOffice and Mozilla. If you have those installed this property will determine which spell checker to use, i.e. in which language the log messages for your project should be written. tsvn:projectlanguage sets the language module the spell checking engine should use when you enter a log message. You can find the values for your language on this page: MSDN: Language Identifiers.
Vous pouvez saisir cette valeur en décimal, ou en hexadécimal si préfixée avec 0x. Par exemple l'Anglais (US) 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é.
The property tsvn:logrevregex defines a regular expression which matches references to revisions in a log message. This is used in the log dialog to turn such references into links which when clicked will either scroll to that revision (if the revision is already shown in the log dialog, or if it's available from the log cache) or open a new log dialog showing that revision.
The regular expression must match the whole reference, not just the revision number. The revision number is extracted from the matched reference string automatically.
If this property is not set, a default regular expression is used to link revision references.
When you want to add a new property, you can either pick one from the list in the combo box, or you can enter any property name you like. If your project uses some custom properties, and you want those properties to appear in the list in the combo box (to avoid typos when you enter a property name), you can create a list of your custom properties using tsvn:userfileproperties and tsvn:userdirproperties. Apply these properties to a folder. When you go to edit the properties of any child item, your custom properties will appear in the list of pre-defined property names.
Some tsvn: properties require a true/false value. TortoiseSVN also understands yes as a synonym for true and no as a synonym for false.
TortoiseSVN can integrate with some bug tracking tools. This uses project properties that start with bugtraq:. Read la section intitulée « Intégration avec des systèmes de bug tracking / traqueurs d'incidents » for further information.
It can also integrate with some web-based repository browsers, using project properties that start with webviewer:. Read la section intitulée « Intégration avec des explorateur de référentiel de type web. » for further information.
These special project properties must be set on folders for the system to work. When you commit a file or folder the properties are read from that folder. If the properties are not found there, TortoiseSVN will search upwards through the folder tree to find them until it comes to an unversioned folder, or the tree root (eg. C:\) is found. If you can be sure that each user checks out only from e.g trunk/ and not some sub-folder, then it is sufficient to set the properties on trunk/. If you can't be sure, you should set the properties recursively on each sub-folder. A property setting deeper in the project hierarchy overrides settings on higher levels (closer to trunk/).
For project properties only, i.e. tsvn:, bugtraq: and webviewer: you can use the Recursive checkbox to set the property to all sub-folders in the hierarchy, without also setting it on all files.
When you add new sub-folders to a working copy using TortoiseSVN, any project properties present in the parent folder will automatically be added to the new child folder too.
Fetching properties remotely is a slow operation, so some of the features described above will not work in the repository browser as they do in a working copy.
When you add a property using the repo browser, only the standard svn: properties are offered in the pre-defined list. Any other property name must be entered manually.
Properties cannot be set or deleted recursively using the repo browser.
Project properties will not be propagated automatically when a child folder is added using the repo browser.
tsvn:autoprops will not set properties on files which are added using the repo browser.
Although TortoiseSVN's project properties are extremely useful, they only work with TortoiseSVN, and some will only work in newer versions of TortoiseSVN. If people working on your project use a variety of Subversion clients, or possibly have old versions of TortoiseSVN, you may want to use repository hooks to enforce project policies. project properties can only help to implement a policy, they cannot enforce it.