If I make small changes in let's say five different files and commit these to Subversion, how can I checkout just exactly these files in original folder structure to upload and overwrite on FTP Server later on?
If I try to check out HEAD non recursive I just get index.php and some different files which have nothing in common with last changes.
Attached solution: I made a small script - not very elegant but it works ...
#!/bin/bash
URL='http://svn ...';
TARGET='./ftp';
read -p "Please enter start revision: " VERSION1
read -p "Please enter ending revision: " VERSION2
read -p "Remove old? [yes] " remove
# getting changes
svn diff $URL --summarize -r$VERSION1:$VERSION2 > changes
# checkout complete revision
svn checkout $URL -r HEAD
# remove previous
if [ $remove = 'yes'] ; then
if [ -d $TARGET ] ; then
rm -r $TARGET
else
mkdir $TARGET
fi
fi
for entry in `cat changes`; do
e=${entry#*$URL/}
item=$TARGET'/'$e;
DIR=${item%/*}
# create directory
if [ -d $DIR ] ; then
echo '';
else
mkdir -p $DIR
fi
cp './trunk/'$e $DIR
echo $e
done
echo "Done ..."
read any
It checks out the complete trunk and extracting the files which were changed in range of revisions given.