Tutorial de Subversion - Órdenes basicas

5 - Órdenes basicas


Tutorial creado por Rafaël Garcia-Suarez . Extraido de: http://www.mononeurona.org/index.php?idp=412
27 Octubre 2005
< anterior | 1 .. 3 4 5 6 7 .. 10 | siguiente >
La mayoría de las órdenes de ##svn## no usan el URI del repositorio, sino que actúan sobre la copia de trabajo local. La forma más general de una orden de ##svn## es:

##$ svn &lt;orden&gt; [&lt;opciones&gt;]

[&lt;objetivos&gt;]##

donde ##objetivos## es la lista de ficheros o directorios sobre los que operar, y ##opciones## es una lista de parámetros, en el estilo habitual de la mayoría de los interfaces de línea de órdenes de Unix. En la mayoría de las órdenes de ##svn##, ##objetivos## es por defecto el directorio actual, y la orden opera recursivamente sobre cada directorio que procesa.

La primera orden que veremos es ##svn commit## (también conocida como ##svn ci##, que debería resultar familiar a los usuarios de CVS). Ésta envía las modificaciones de los ficheros locales al repositorio. Por ejemplo,

##$ svn commit *.c include##

comprobará recursivamente si han sido modificados todos los ficheros

//.c// en el directorio actual y todos los ficheros en el subdirectorio //include//, y los incorporará al repositorio. Sólo se incluirán en el conjunto de cambios los ficheros que hayan sido modificados. Como consecuencia de esto, un simple

##$ svn commit##

envía todos los ficheros modificados que haya en el directorio actual y en sus subdirectorios.

Tenga en cuenta que Subversion necesita un mensaje para el cuaderno de bitácora cuando se envían cambios. Puede indicar el mensaje mediante la opción ##-m## en la línea de órdenes, como en los ejemplos anteriores de ##import## y ##mkdir##. Si falta esta opción, ##svn## lanzará el editor indicado en una de las variables de entorno ##SVN_EDITOR##, ##VISUAL##, o

##EDITOR##.

Los mensajes del cuaderno de bitácora se pueden obtener mediante la orden ##svn log##, que muestra una lista formateada de los cambios en los objetivos indicados. Acepta la opción ##-v## (//verbose//, prolijo), que incluye en el fichero de cambios la lista de ficheros que se modificaron en cada revisión. La usual opción ##-r## limita la lista a una revisón o un intervalo de revisiones. Por ejemplo, actualizar un fichero //ChangeLog// con todos los cambios desde la revisión #42 es tan simple como:

##$ cd ~/frobwork/tronco

$ svn log -r42:HEAD &gt;&gt; ChangeLog

$ svn commit ChangeLog -m 'Actualizar fichero de cambios'##

Aquí, ##HEAD## es una palabra clave que se puede usar en lugar de un número de revisión. Hace referencia al número de la última revisión que se envió al repositorio.

Si no está satisfecho con sus cambios, la orden ## ##

svn
revert

deshará todos las ediciones locales que haya realizado a sus objetivos. A diferencia de otras órdenes de ##svn##, ##revert## no opera recursivamente sobre subdirectorios, a menos que le pase la opción ##-R##.

Para añadir o eliminar ficheros, use las órdenes ## ##

svn
add

y ##svn remove##. Estas órdenes marcan los ficheros o directorios a añadir o eliminar en y desde el repositorio en el siguiente ##commit## (envío). De manera similar, ##svn mkdir##

crea un nuevo directorio bajo control de versiones en la copia de trabajo.

Como regla general, el conjunto de cambios incluídos en un ##commit## debería tratar un problema específico o implementar una funcionalidad bien definida. Pensar el mensaje para el cuaderno de bitácora antes de haer los cambios le puede ayudar a centrarse. Un ##commit## con un propósito único se examina más fácilmente (como un ##diff##), de modo que cualquier

//bug// (gazapo o error de programación) que se haya podido introducir aparece más claramente. Controlar regresiones es más difícil si en un único ##commit## hay varios cambios no relacionados entre sí.
< anterior | 1 .. 3 4 5 6 7 .. 10 | siguiente >

Autor y licencia de 'Tutorial de Subversion'


Tutorial de Rafaël Garcia-Suarez . Extraido de: http://www.mononeurona.org/index.php?idp=412 CopyLeft
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.