El cliente de línea de comando de Subversion: svn

Para usar el cliente de línea de comando, debe teclear svn, el subcomando que desea usar [54], y cualquier parámetro u objetivos sobre los cuales desea operar—no hay un orden específico en el cual deben aparecer los subcomandos y parámetros. Por ejemplo, todos los siguientes ejemplos de uso de svn status son válidos:

$ svn -v status
$ svn status -v 
$ svn status -v myfile

Puede encontrar más ejemplos de cómo usar la mayoría de los comandos del cliente en Capítulo 3, Recorrido guiado y comandos para manejar propiedades en “Propiedades”.

Parámetros de svn

Aunque Subversion tiene diferentes parámetros para sus subcomandos, todos los parámetros son globales—es decir, se garantiza que cada parámetro significa la misma cosa sin importar el subcomando que use. Por ejemplo, --verbose (-v) siempre significa salida abundante de mensajes, sin importar el subcomando con el que lo use.

--auto-props

Activa auto propiedades, reemplazando la directiva enable-auto-props del fichero config.

--config-dir DIR

Indica a Subversion que lea la información de configuración del directorio especificado en lugar del lugar por defecto (.subversion en el directorio home del usuario).

--diff-cmd CMD

Especifica el programa externo que desea usar para mostrar las diferencias entre ficheros. Cuando invoca svn diff, usa el motor diferencial interno de Subversion, el cual genera ficheros diferenciales en formato unificado por defecto. Si quiere usar un programa de diferenciación externo, use --diff-cmd. Puede pasar parámetros a su programa de diferenciación con el parámetro --extensions (más sobre esto adelante en esta sección).

--diff3-cmd CMD

Especifica el programa externo que desea usar para fusionar los ficheros.

--dry-run

Recorre todo el proceso interno de la ejecución del comando, pero en realidad no se realizan cambios—ya sea en disco o en el repositorio.

--editor-cmd CMD

Especifica el programa externo que desea usar para modificar mensajes de informes de cambios o valores de propiedades.

--encoding ENC

Indica a Subversion que el mensaje que escribe al enviar cambios al repositorio está en la codificación indicada. Por defecto se usa la configuración local nativa de su sistema operativo, y debería especificar la codificación si sus mensajes de cambios están en otra codificación.

--extensions (-x) ARGS

Especifica un parámetro o varios que Subversion debe pasar al comando de diferenciación externo cuando se muestran diferencias entre ficheros. Si desea pasar múltiples argumentos, debe entrecomillarlos todos (por ejemplo, svn diff --diff-cmd /usr/bin/diff -x "-b -E"). Este parámetro sólo puede ser usado si también usa el parámetro --diff-cmd.

--file (-F) FILENAME

Usa el contenido del fichero pasado como argumento de este parámetro para el subcomando especificado.

--force

Obliga la ejecución de un comando u operación particular. Hay algunas operaciones que Subversion evitará hacer durante un uso normal, pero puede pasar el parámetro de forzado para decirle a Subversion Se lo que estoy haciendo y las posibles repercusiones de mis actos, así que déjame hacerlos. Este parámetro es el equivalente programático de realizar algún trabajo eléctrico sin desconectar la corriente—si no sabe lo que está haciendo, es probable que consiga una desagradable electrocución.

--force-log

Obliga la aceptación de parámetros sospechosos usados con las opciones --message (-m) o --file (-F). Por defecto, Subversion producirá un error si los parámetros de estas opciones perecen ser objetivos del subcomando. Por ejemplo, si pasa la ruta de un fichero versionado a la opción --file (-F), Subversion asumirá que ha cometido un fallo, y que esa ruta era en realidad el objetivo de la operación, y simplemente se equivocó al indicar el fichero—no versionado—que contiene el registro de mensajes de cambios. Para confirmar su intención y anular este tipo de errores, pase la opción --force-log a comandos que aceptan mensajes de cambios.

--help (-h o -?)

Si se usa con uno o más subcomandos, muestra la ayuda de texto empotrada en el cliente para cada subcomando. Si se usa sin nada más, muestra la ayuda de texto genérica del cliente.

--ignore-ancestry

Indica a Subversion que ignore la ascendencia cuando calcule diferencias (sólo usará el contenido de las rutas).

--incremental

Muestra la salida en un formato que permite la concatenación.

--message (-m) MESSAGE

Indica que especificará el mensaje del informe de cambios en la línea de comando, siguiendo al parámetro. Por ejemplo:

$ svn commit -m "They don't make Sunday."
--new ARG

Usa ARG como el objetivo nuevo.

--no-auth-cache

Previene el cacheado de información de autenticación (ej: nombre de usuario y clave de acceso) en los directorios administrativos de Subversion.

--no-auto-props

Desactiva las propiedades automáticas, reemplazando la directiva enable-auto-props del fichero config.

--no-diff-deleted

Evita que Subversion muestre diferencias para ficheros borrados. El comportamiento por defecto cuando elimina un fichero es que svn diff imprima las mismas diferencias que vería si hubiese dejado el fichero pero eliminando su contenido.

--no-ignore

Muestra ficheros en el listado de estado que normalmente serían omitidos debido a que coinciden con un patrón de la propiedad svn:ignore. Vea “Config” para más información.

--non-interactive

En el caso de un fallo de autenticación, o credenciales insuficientes, evita que se soliciten las credenciales (ej: nombre de usuario o clave). Esto es útil si está ejecutando Subversion dentro de un script automático y le resulta más apropiado que Subversion falle en lugar de pedir más información de manera interactiva.

--non-recursive (-N)

Evita que un subcomando entre de manera recursiva en subdirectorios. La mayoría de los subcomandos son recursivos por defecto, pero algunos subcomandos—normalmente aquellos que tienen el potencial de borrar o deshacer sus modificaciones locales—no lo son.

--notice-ancestry

Presta atención a la ascendencia cuando calcula diferencias.

--old ARG

Usa ARG como el objetivo antiguo.

--password PASS

Indica en la línea de comando la palabra clave para la autenticación—de otro modo, siempre que sea necesario, Subversion le preguntará por ella.

--quiet (-q)

Solicita que el cliente imprima solamente la información esencial mientras realiza su operación.

--recursive (-R)

Obliga a un subcomando a que entre de manera recursiva en subdirectorios. La mayoría de los subcomandos son recursivos por defecto.

--relocate FROM TO [PATH...]

Usado con el subcomando svn switch, cambia la ubicación del repositorio que su copia local de trabajo referencia. Esto es útil si la ubicación de su repositorio cambia y tiene una copia local existente que querría continuar usando. Consulte svn switch para ver un ejemplo.

--revision (-r) REV

Indica que va a proporcionar una revisión (o rango de revisiones) para una operación en particular. Puede proporcionar números de revisión, palabras clave o fechas (rodeadas por llaves), como argumentos del parámetro de revisión. Si quiere proporcionar un rango de revisiones, puede proporcionar dos revisiones separadas por dos puntos. Por ejemplo:

$ svn log -r 1729
$ svn log -r 1729:HEAD
$ svn log -r 1729:1744
$ svn log -r {2001-12-04}:{2002-02-17}
$ svn log -r 1729:{2002-02-17}

Vea “Palabras clave de la revisión” para obtener más información.

--revprop

Opera sobre una propiedad de revisión en lugar de una propiedad Subversion particular de un fichero o directorio. Este parámetro requiere que también indique la revisión con el parámetro --revision (-r). Vea “Propiedades no versionadas” para más detalles sobre propiedades no versionadas.

--show-updates (-u)

Hace que el cliente muestre la información sobre qué ficheros de su copia local de trabajo no están actualizados. Esto realmente no actualiza ninguno de sus ficheros—solamente muestra qué ficheros serían actualizados en caso de ejecutar svn update.

--stop-on-copy

Hace que el subcomando de Subversion que está recorriendo la historia de un recurso versionado deje de procesar esa información histórica cuando encuentre una copia—es decir, un punto en la historia cuando el recurso fue copiado desde otra ubicación del repositorio.

--strict

Hace que Subversion siga unas semánticas estrictas, una noción que es bastante vaga a no ser que hablemos de subcomandos específicos.

--targets FILENAME

Indica a Subversion que obtenga un listado de los ficheros sobre los que usted desea operar a partir del fichero proporcionado en lugar de listar todos sus nombres en la línea de comando.

--username NAME

Indica que está proporcionando su nombre de usuario para la autenticación en la línea de comando—de lo contrario, si es necesario, Subversion le preguntará por el.

--verbose (-v)

Solicita que el cliente imprima tanta información como sea posible mientras ejecuta cualquier subcomando. Esto puede tener como resultado que Subversion imprima campos adicionales, información detallada sobre cada fichero, o información adicional relacionada con las acciones que toma.

--version

Imprime la información de versión del cliente. Esta información no sólo incluye el número del cliente, sino que también muestra un listado de todos los módulos de acceso a repositorio que el cliente puede usar para acceder a repositorios de Subversion.

--xml

Imprime la salida en formato XML.

Subcomandos de svn



[54] Si, de acuerdo, no necesita un subcomando para usar el parámetro --version, pero llegaremos a esto en un minuto.