Subversion is a popular version control software and replacement for CVS, the grand-daddy of all version control software which is still widely used in open source community. Subversion es una versión popular software de control y la sustitución de CVS, el gran papá de todos los software de control de versiones que sigue siendo ampliamente utilizado en la comunidad de código abierto.

Recently I had the necessity to invoke Subversion commands like checkout from Ant, a popular java based build software which replaces make tool. Recientemente tuve la necesidad de invocar los comandos de Subversion, como la compra de Ant, un popular basado en java construir software que sustituye a hacer herramienta.

There are two ant tasks to accomplish this, the better one is SvnAnt from Subclipse project. Hay dos tareas hormiga a lograr esto, el mejor es SvnAnt proyecto de Subclipse. However configuring it to work was non-trivial as proper usage documentation was missing. Sin embargo configurándolo para el trabajo no era trivial como el uso adecuado de documentación que faltaba. So I decided simplify the process to make your life easier. Así que he decidido simplificar el proceso para hacer su vida más fácil.

However the extensive commands it supports are well Sin embargo, el amplio apoyo que los comandos están bien documented documentadas .
Note: If prompted for user name / password use guest / guest. Nota: Si se le pregunte por el nombre de usuario / contraseña uso clientes / clientes.

Why SvnAnt? SvnAnt ¿Por qué?
Subversion is a full-fledged version control software obviously supporting commands like checkout, add or commit. Subversion es un completo software de control de versiones, evidentemente, el apoyo a órdenes como la caja, añadir o cometen. The ant task from O’Reily didn’t even support checkout! La tarea de hormiga O'Reily ni siquiera pedir el apoyo! It supported a very limited set from the available commands. Apoyó un conjunto muy limitado de los comandos disponibles.
So I went for Así que me fui para svnant task which had much better support. tarea que tiene mucho mejor soporte. Also this way you don’t have to mess with También de esta manera usted no tiene que lío con exec’ing the Subversion CLI Subversion exec'ing la CLI commands directly from your ant script. comandos directamente desde su script de hormigas. It is wrapped up for ease of use. Es envuelto por la facilidad de uso. It can also use JNI interface for speed. También puede utilizar la interfaz JNI para la velocidad.

To provide access to the Subversion API, svnant uses either the Para facilitar el acceso a la API de Subversion, svnant usos, ya sea la javahl - Subversion Java bindings or Subversion’s command line programs (which must be installed and in your PATH). -- Subversion Java o fijaciones de Subversion programas de línea de comandos (que debe estar instalado y en su PATH).

javahl uses JNI which must be setup appropriately. javahl utiliza JNI que debe ser la configuración adecuada. I preferred using the Subversion’s command line programs as subversion was already installed in my system. He preferido utilizar la subversión de la línea de comandos como los programas de subversión ya estaba instalado en mi sistema.

Steps: Pasos:
1. I am assuming you already have Estoy suponiendo que ya tienes ant installed. instalado. If not do it first. Si no lo hacen primero. Ensure %ANT_HOME% ($ANT_HOME for *nix) is defined and %ANT_HOME%\bin is appended to your %PATH%. Garantizar% ANT_HOME% ($ ANT_HOME de * nix) y se define% ANT_HOME% \ bin se adjunta a su PATH%%.

2. If you do not have subversion installed then first Si no lo tiene instalado, entonces la subversión primero download it descargarlo and install. e instalar.

2.1 Ensure that svn is in your path by invoking svn from a command windows (cmd for windows, bash etc. for *nix). 2,1 svn Asegúrese de que está en su camino invocando svn de un comando ventanas (cmd para ventanas, etc bash para * nix).

3. Download Descargar svnant and extract the files to any directory. y extraer los archivos a cualquier directorio.

4. Go to your project directory. Vaya a su directorio de proyecto. If it doesn’t have a lib (or equivalent) directory to store required jar files then create one and copy all the files (*.jar ) from svnant’s lib directory: Si no tiene un lib (o equivalente) de directorio para almacenar archivos JAR necesario entonces crear uno y copiar todos los archivos (*. jar) de svnant del directorio lib:
commons-lang-2.0.jar
jakarta-regexp-1.3.jar Yakarta-regexp-1.3.jar
svnClientAdapter.jar
svnant.jar
svnjavahl.jar

5. To use svn task you have to add a taskdef to your build file. Para usar svn tarea que tienen que añadir un taskdef para construir su archivo. Use either of the following: Utilice cualquiera de los siguientes documentos:
Option 1: Opción 1:

This requires the lib directory to be included with either “ant -lib lib” or by adding an extra parameter: Para ello se requiere el directorio lib que se incluyan, ya sea con "ant-lib lib" o después de añadir un parámetro adicional:

where project.classpath is previously defined as: project.classpath donde anteriormente se define como:

Option 2 is simpler: La opción 2 es más simple:

The project.classpath is previously defined as shown before. El project.classpath está previamente definida, como se indica antes.

For example you can use this simple build.xml file to fetch latest code from WordPress repository: Por ejemplo, puede usar este simple archivo build.xml para obtener más reciente código de WordPress repositorio:

Run this script by simply typing ant. Ejecutar este script simplemente tecleando ant.

BTW: I think Subversion as version control software and ant as build and deployment software are two very strong products which should be part of any enterprise open source software stack. BTW: Creo que la subversión como de control de versiones de software y hormigas como la construcción y despliegue de software son dos productos muy fuertes que deben formar parte de cualquier empresa de software de fuente abierta pila.