I used Wim Cohenen's answer and wrote the following script to create a list of all revisions:
getSvnRevs() { cd "$1" wcver="$(svnversion)" [ -n "$wcver" ] || panic "Unable to get version for $wcdir" echo "$1: $wcver" svn propget svn:externals -R | while read abcde; do [ -n "$a" ] || continue if [ "$b" = "-" ]; then wcparent="$a" wcdir="$wcparent/$c" [ -z "$e" ] || panic "Invalid format #1" else [ -n "$wcparent" ] || panic "Invalid format #2" wcdir="$wcparent/$a" [ -z "$c" ] || panic "Invalid format #3" fi [ -d "$wcdir" ] || panic "Invalid directory: $wcdir" wcver="$(svnversion "$wcdir")" [ -n "$wcver" ] || panic "Unable to get version for $wcdir" echo "$1/$wcdir: $wcver" done }
Fortunately, I do not have nested external elements, so I did not have to test this, and I think it will not work. But if you need it, enough to just call this function recursively. In addition, I have never been tested with the names of files that need to slip away. It probably won't work.
DISCLAIMER: I know that the original question was about windows, and the shell script will not work there unless you use cygwin or the like.
Daniel Alder May 13 '15 at 11:52 2015-05-13 11:52
source share