2009-02-23 13 views
8

Estoy trabajando en un proyecto en el que estamos utilizando activamente la cadena $Id$ generada por subversion para escribir el número de versión en la documentación. Por ejemplo, analizamos esta cadena

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

e imprimimos "999" en la portada de la documentación.

Pero de vez en cuando, después de una confirmación, la información se retira y nos quedamos con sólo

$Id$ 

Esto rompe, obviamente, las cosas un poco. ¿Alguien sabe por qué podría estar sucediendo?


Bien, la respuesta obvia era correcta; svn:keywords ya no estaban configurados para ese archivo. ¡Pero juro que solían ser! ¿Alguna idea de cómo/por qué svn:keywords habría sido borrado de un archivo sin que nadie notara/hiciera algo a propósito?

Respuesta

10

La propiedad svn: keywords no se puede establecer correctamente en ese archivo. Es necesario establecer que (al menos) 'Id':

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

Gracias, debería haberlo comprobado primero; las palabras clave no se establecieron para este archivo como sospecha, ¡pero juro que solían serlo! –

+0

Si está ejecutando el cliente de línea de comando SVN, puede establecer los valores predeterminados para este material en su archivo ~/.subversion/config. Esa _may_ también se aplica a TortoiseSVN, pero no me cites sobre eso. –

2

Palabras clave se expanden en la salida solamente, si el 'svn: palabras clave' propiedad se define. Al usar herramientas de exploración de repositorios como ViewSVN, no deberían expandirse, es decir. se muestran como $ Id $.

+0

Si he "perdido" las palabras clave SVN (las palabras clave están establecidas pero no se han expandido), ¿hay alguna manera de forzar una "salida" que las expanda? –

2

La respuesta que ha seleccionado es correcta. También puede ver configurar sus autopropulsados ​​para habilitar la propiedad de la palabra clave automáticamente. Ver http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.4

Cuando usted ha hecho que usted podría incluir ocasionalmente svn_apply_autoprops.py de http://subversion.tigris.org/tools_contrib.html

svn_apply_autoprops.py se verifica la configuracion de autoprops e ir a través de su repositorio de configuración de todo.

0

Bien, la respuesta obvia fue correcta; svn: las palabras clave no estaban configuradas para ese archivo más. ¡Pero juro que solían ser ! Cualquier idea de cómo/por qué svn: palabras clave habrían sido borradas de un archivo sin que nadie notara/hiciera algo en propósito?

La primera razón que se me ocurre sería: Si el archivo se SVN-añadió y luego se mueve/renombra antes de la primera comprometen las propiedades de automóviles no se aplicaron.

El error que hace que un archivo pierda sus propiedades en este caso se resolverá en Subversion 1.5.6 y 1.6.0.

6

Asegúrate de que tu archivo esté en UTF-8 y NO en Unicode. Los Unicode no se expanden ya que SVN piensa que estos no son archivos de texto ... Usé el Bloc de notas Guardar como UTF-8 para resolver el problema

+2

Pasé 6 horas hoy tratando de descubrir por qué un archivo de texto existente en SVN no podía hacer que la expansión de la palabra clave svn: funcionara. La codificación del archivo de texto fue el problema. ¡Me has salvado de volverte loco! – tyriker

Cuestiones relacionadas