#!/bin/bash read -p "Enter SVN dir [./svn]: " SVN_DIR SVN_DIR=${SVN_DIR:-./svn} echo "SVN directory is" $SVN_DIR VERSION=$(cat ab-testing-for-wp.php | grep "Version: \(.*\)" | tr ' ' '\n' | tail -1) echo "Release version $VERSION (y/n)?" read answer if [[ "$answer" != "${answer#[Yy]}" ]]; then echo "Releasing..."; # clean SVN folders rm -Rf $SVN_DIR/trunk/* rm -Rf $SVN_DIR/assets/* # copy files rsync -av --exclude-from '.rsyncignore' ./assets $SVN_DIR rsync -av --exclude-from '.rsyncignore' ./ $SVN_DIR/trunk rsync -av --exclude-from '.rsyncignore' ./ $SVN_DIR/tags/$VERSION # commit SVN cd $SVN_DIR # DO THE ADD ALL NOT KNOWN FILES UNIX COMMAND svn add --force * --auto-props --parents --depth infinity -q # DO THE REMOVE ALL DELETED FILES UNIX COMMAND MISSING_PATHS=$( svn status | sed -e '/^!/!d' -e 's/^!//' ) # iterate over filepaths for MISSING_PATH in $MISSING_PATHS; do svn rm --force "$MISSING_PATH" done svn up echo "Commit change in SVN folder to finalize release"; else echo "Aborting"; fi;