2009-02-23 9 views
8

Je travaille sur un projet dans lequel nous utilisons activement la chaîne $Id$ générée par subversion pour écrire le numéro de version dans la documentation. Par exemple, nous analysons cette chaîne

$Id: filename 999 2009-02-23 22:51:29Z author $ 

et d'imprimer "999" dans la page de titre de la documentation.

Mais chaque maintenant et puis, après une validation, l'information est supprimée et nous sommes laissés avec juste

$Id$ 

Cela brise évidemment les choses un peu. Est-ce que quelqu'un sait pourquoi cela pourrait se produire?


D'accord, la réponse évidente était correcte; svn:keywords ne sont plus définis pour ce fichier. Mais je jure qu'ils étaient! Une idée comment/pourquoi svn:keywords aurait été effacé d'un fichier sans que personne ne s'en aperçoive/fasse quoi que ce soit à dessein?

Répondre

10

La propriété svn: keywords n'est peut-être pas définie correctement sur ce fichier. Vous devez le mettre à (au moins) « Id »:

svn ps svn:keywords 'Id' filename.txt 
+0

Merci, j'aurais dû vérifier cela tout d'abord; les mots-clés n'ont pas été définis pour ce fichier comme vous le suspectez - mais je jure qu'ils l'étaient! –

+0

Si vous exécutez le client SVN en ligne de commande, vous pouvez définir les valeurs par défaut pour ce contenu dans votre fichier ~/.subversion/config. Que _may_ s'applique également à TortoiseSVN, mais ne me citez pas dessus. –

2

Mots-clés sont développés à la caisse seulement si le « svn: mots-clés » propriété est définie. Lorsque vous utilisez des outils de navigation de référentiel comme ViewSVN, ils ne doivent pas être développés, c'est-à-dire. ils sont affichés en $ Id $.

+0

Donc, si j'ai "perdu" les mots-clés SVN (les mots-clés sont définis mais n'ont pas été développés), y a-t-il un moyen de forcer une "extraction" qui les étend? –

2

La réponse que vous avez sélectionnée est correcte. Vous pouvez en outre regarder la définition de vos auto-accessoires pour activer la propriété de mot clé automatiquement. Voir http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.4

Lorsque vous avez fait cela, vous pouvez de temps en temps courir svn_apply_autoprops.py de http://subversion.tigris.org/tools_contrib.html

svn_apply_autoprops.py va vérifier vos paramètres de autoprops et passer par votre paramètre de référentiel le tout.

0

D'accord, la réponse évidente était correct; svn: les mots-clés n'étaient pas définis pour ce fichier plus. Mais je jure qu'ils étaient ! Une idée comment/pourquoi svn: mots-clés aurait été effacé à partir d'un fichier sans personne remarque/faire quelque chose sur but?

La première raison pour laquelle je peux penser serait: Si le fichier a été ajoutée svn puis déplacé/renommé avant le premier engagent les propriétés auto ne sont pas appliquées.

Le bogue qui fait perdre à un fichier ses propriétés dans ce cas sera résolu dans Subversion 1.5.6 et 1.6.0.

6

Assurez-vous que votre fichier est en UTF-8 et PAS en Unicode. Unicode ne se développe pas comme SVN pense que ce ne sont pas des fichiers texte ... J'ai utilisé le Notepad Save As UTF-8 pour résoudre le problème

+2

J'ai passé 6 heures aujourd'hui à essayer de comprendre pourquoi un fichier texte existant dans SVN ne pouvait pas faire fonctionner l'extension svn: keyword. L'encodage du fichier texte était le problème. Vous m'avez sauvé de devenir fou! – tyriker

Questions connexes