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. Sovversione è una versione popolare software di controllo e sostituzione per i CV, la Grand-papà di tutti i software di controllo versione che è ancora ampiamente utilizzato in comunità open source.

Recently I had the necessity to invoke Subversion commands like checkout from Ant, a popular java based build software which replaces make tool. Recentemente ho avuto la necessità di invocare la sovversione comandi come checkout da Ant, una popolare basato su Java costruire software che sostituisce rendere strumento.

There are two ant tasks to accomplish this, the better one is SvnAnt from Subclipse project. Ci sono due ant compiti per realizzare questo, meglio è uno SvnAnt dal progetto Subclipse. However configuring it to work was non-trivial as proper usage documentation was missing. Tuttavia la configurazione di lavoro è stato non banali come il corretto uso è stato documentazione mancante. So I decided simplify the process to make your life easier. Così ho deciso di semplificare il processo di rendere più semplice la vita.

However the extensive commands it supports are well Tuttavia l'ampia supporta i comandi sono ben documented documentate .
Note: If prompted for user name / password use guest / guest. Nota: Se viene richiesto il nome utente / password uso dei clienti / clienti.

Why SvnAnt? Perché SvnAnt?
Subversion is a full-fledged version control software obviously supporting commands like checkout, add or commit. Sovversione è un vero e proprio controllo di versione del software, ovviamente, sostenendo come comandi di checkout, aggiungere o commettere. The ant task from O’Reily didn’t even support checkout! Ant compito da O'Reily non ha il sostegno anche di checkout! It supported a very limited set from the available commands. Ha sostenuto una serie limitata da i comandi disponibili.
So I went for Così sono andato per svnant task which had much better support. compito che era molto meglio di sostegno. Also this way you don’t have to mess with Anche in questo modo non è necessario a mess exec’ing the Subversion CLI exec'ing la sovversione CLI commands directly from your ant script. comandi direttamente dal vostro script di ant. It is wrapped up for ease of use. E 'avvolto per facilità d'uso. It can also use JNI interface for speed. E 'anche possibile usare JNI interfaccia per la velocità.

To provide access to the Subversion API, svnant uses either the Di garantire l'accesso alle API di sovversione, svnant utilizza sia la javahl - Subversion Java bindings or Subversion’s command line programs (which must be installed and in your PATH). -- Sovversione Java binding o sovversione della riga di comando di programmi (che deve essere installato e nel tuo PATH).

javahl uses JNI which must be setup appropriately. javahl utilizza JNI che deve essere adeguatamente setup. I preferred using the Subversion’s command line programs as subversion was already installed in my system. Ho preferito utilizzando la sovversione della riga di comando di programmi come la sovversione è già stato installato nel mio sistema.

Steps: Procedura:
1. I am assuming you already have Sono supposto che hanno già ant formica installed. installato. If not do it first. Se non lo faccio per primo. Ensure %ANT_HOME% ($ANT_HOME for *nix) is defined and %ANT_HOME%\bin is appended to your %PATH%. Assicurare% ANT_HOME% ($ ANT_HOME per * nix) è definita e% ANT_HOME% \ bin è allegato al tuo% PATH%.

2. If you do not have subversion installed then first Se non avete installato il sovversione prima download it scaricarlo and install. e installare.

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 Garantire che è nel tuo percorso di invocare svn da un comando finestre (cmd per Windows, ecc bash per * nix).

3. Download Scaricare svnant and extract the files to any directory. e di estrarre i file in qualsiasi directory.

4. Go to your project directory. Vai al tuo progetto di directory. 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: Se non dispone di un lib (o equivalente) di directory per memorizzare i file jar necessario quindi creare uno e copiare tutti i file (*. jar) da svnant's lib directory:
commons-lang-2.0.jar Commons-Lang-2.0.jar
jakarta-regexp-1.3.jar Jakarta-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. Per usare svn compito dovete aggiungere un taskdef a costruire il vostro file. Use either of the following: Utilizzare uno dei seguenti:
Option 1: Opzione 1:

This requires the lib directory to be included with either “ant -lib lib” or by adding an extra parameter: Ciò richiede la directory lib di essere inclusi in una "formica lib-lib" o tramite l'aggiunta di un parametro extra:

where project.classpath is previously defined as: dove è project.classpath precedentemente definito come:

Option 2 is simpler: L'opzione 2 è più semplice:

The project.classpath is previously defined as shown before. La project.classpath è precedentemente definiti come indicato in precedenza.

For example you can use this simple build.xml file to fetch latest code from WordPress repository: Ad esempio è possibile utilizzare questo semplice build.xml file più recenti di scaricare codice da WordPress repository:

Run this script by simply typing ant. Eseguire questo script, semplicemente digitando 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: Penso che la sovversione come versione software di controllo e formica come costruire e la distribuzione di software sono due prodotti molto forte che dovrebbe essere parte di una impresa di software open source pila.