Alternative: acquiring iwant bootstrapper by using svn:externals

A handy way of avoiding having to commit the iwant bootstrapper to the user's svn repository is to link it using svn:externals.

Let's create a local svn repository and check it out.

~ $ svnadmin create svn-repo
~ $ svn co "file://$(readlink -f svn-repo)" iwant-tutorial
Checked out revision 0.
~ $ cd iwant-tutorial

Here we use a shell oneliner to define the svn:externals url. You may want to use the interactive svn pe command.

~/iwant-tutorial $ mkdir as-iwant-tutorial-developer
~/iwant-tutorial $ svn add as-iwant-tutorial-developer
A as-iwant-tutorial-developer
~/iwant-tutorial $ echo '-r 885 with' | svn ps svn:externals --file - as-iwant-tutorial-developer
property 'svn:externals' set on 'as-iwant-tutorial-developer'

A commit and update is needed for svn to fetch the external bootstrapper.

~/iwant-tutorial $ svn commit -m 'external iwant bootstrapper'
Adding as-iwant-tutorial-developer
Committing transaction...
Committed revision 1.
Output asserted
~/iwant-tutorial $ svn up
Updating '.':

Fetching external item into 'as-iwant-tutorial-developer/with':
A as-iwant-tutorial-developer/with/java
A as-iwant-tutorial-developer/with/java/net
A as-iwant-tutorial-developer/with/java/net/sf
A as-iwant-tutorial-developer/with/java/net/sf/iwant
A as-iwant-tutorial-developer/with/java/net/sf/iwant/entry
A as-iwant-tutorial-developer/with/ant
A as-iwant-tutorial-developer/with/ant/iw
A as-iwant-tutorial-developer/with/bash
A as-iwant-tutorial-developer/with/bash/iwant
A as-iwant-tutorial-developer/with/java/net/sf/iwant/entry/
A as-iwant-tutorial-developer/with/ant/iw/build.xml
A as-iwant-tutorial-developer/with/bash/iwant/
Updated external to revision 885.

At revision 1.
Output asserted

Now we can start using the bootstrapper normally.

~/iwant-tutorial $ as-iwant-tutorial-developer/with/bash/iwant/
I created /home/hacker/iwant-tutorial/as-iwant-tutorial-developer/i-have/conf/iwant-from
Please edit it and rerun me.
Output asserted