Capítulo 6. El programa SubWCRev

Tabla de contenidos

La línea de comandos de SubWCRev
Sustitución de palabras clave
Ejemplo de palabras clave
Interfaz COM

SubWCRev es un programa de consola para Windows que puede utilizarse para leer el estado de una copia de trabajo local y opcionalmente realizar sustituciones de palabras clave en un archivo plantilla. A menudo se utiliza como parte del proceso de compilación como una forma de incorporar información de la copia de trabajo en el objeto que está construyendo. Típicamente, se puede utilizar para incluir el número de revisión en un diálogo Acerca de.

La línea de comandos de SubWCRev

SubWCRev lee el estado de la Subversion de todos los ficheros de la copia de trabajo, excluyendo los externos por defecto. Guarda el número de la revisión enviada más alto encontrado, y la fecha del envío de esa revisión, también guarda si hay modificaciones locales en la copia de trabajo, o revisiones actualizadas y mezcladas. El número de revisión, el rango de la revisión de actualización y el estado de la modificación son mostrados en stdout.

SubWCRev.exe is called from the command line or a script, and is controlled using the command line parameters.

SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
      

WorkingCopyPath es la ruta a la copia de trabajo que se va a comprobar. Sólo puede utilizar SubWCRev en copias de trabajo, no directamente en el repositorio. La ruta puede ser absoluta o relativa al directorio actual.

Si quiere que SubWCRev realice sustituciones de palabras clave, para que se graben los campos como la revisión del repositorio y la URL a un archivo de texto, debe proporcionar un archivo plantilla SrcVersionFile y un archivo de salida DstVersionFile que contendrá la versión sustituida de la plantilla.

You can specify ignore patterns for SubWCRev to prevent specific files and paths from being considered. The patterns are read from a file named .subwcrevignore. The file is read from the specified path, and also from the working copy root. If the file does not exist, no files or paths are ignored. The .subwcrevignore file can contain multiple patterns, separated by newlines. The patterns are matched against the paths relative to the repository root and paths relative to the path of the .subwcrevignore file. For example, to ignore all files in the doc folder of the TortoiseSVN working copy, the .subwcrevignore would contain the following lines:

/trunk/doc
/trunk/doc/*

Or, assuming the .subwcrevignore file is in the working copy root which is checked out from trunk, using the patterns

doc
doc/*

is the same as the example above.

To ignore all images, the ignore patterns could be set like this:

*.png
*.jpg
*.ico
*.bmp

Importante

The ignore patterns are case-sensitive, just like Subversion is.

Sugerencia

To create a file with a starting dot in the Windows explorer, enter .subwcrevignore.. Note the trailing dot.

Hay un número de selecciones opcionales que afectan la manera en que SubWCRev trabaja. Si usted usa más de una, deben especificarse como un único grupo, por ejemplo -nm, no -n -m.

Tabla 6.1. Lista de opciones de línea de comandos disponible

CambiarDescripción
-nSi se especifica esta opción, SubWCRev terminará con ERRORLEVEL 7 si la copia de trabajo tiene modificaciones locales. Esto puede utilizarse para evitar compilaciones cuando hay presentes cambios sin confirmar.
-NIf this switch is given, SubWCRev will exit with ERRORLEVEL 11 if the working copy contains unversioned items that are not ignored.
-mSi se especifica esta opción, SubWCRev terminará con ERRORLEVEL 8 si la copia de trabajo contiene revisiones mezcladas. Esto puede utilizarse para evitar compilaciones de una copia de trabajo parcialmente actualizada.
-dSi se especifica esta opción, SubWCRev terminará con ERRORLEVEL 9 si el archivo de destino ya existe.
-fSi se especifica esta opción, SubWCRev incluirá la revisión del último cambio de las carpetas. El comportamiento por defecto es utilizar únicamente los archivos cuando se obtienen los números de revisión.
-eSi se especifica esta opción, SubWCRev examinará los directorios que se han incluído con svn:externals, pero sólo si son del mismo repositorio. El comportamiento por defecto es ignorar los externos.
-EIf this switch is given, same as -e, but it ignores the externals with explicit revisions, when the revision range inside of them is only the given explicit revision in the properties. So it doesn't lead to mixed revisions.
-xSi se especifica esta opción, SubWCRev mostrará los números de revisión en HEX.
-XSi se especifica esta opción, SubWCRev mostrará los números de revisión en HEX, anteponiendo '0X'.
-FIf this switch is given, SubWCRev will ignore any .subwcrevignore files and include all files.
-qIf this switch is given, SubWCRev will perform the keyword substitution without showing working copy status on stdout.


If there is no error, SubWCRev returns zero. But in case an error occurs, the error message is written to stderr and shown in the console. And the returned error codes are:

Tabla 6.2. List of SubWCRev error codes

Error CodeDescripción
1Syntax error. One or more command line parameters are invalid.
2The file or folder specified on the command line was not found.
3The input file could not be opened, or the target file could not be created.
4Could not allocate memory. This could happen if e.g. the source file is too big.
5The source file can not be scanned properly.
6SVN error: Subversion returned with an error when SubWCRev tried to find the information from the working copy.
7The working copy has local modifications. This requires the -n switch.
8The working copy has mixed revisions. This requires the -m switch.
9The output file already exists. This requires the -d switch.
10The specified path is not a working copy or part or one.
11The working copy has unversioned files or folders in it. This requires the -N switch.