#!/bin/bash read -p "Enter SVN dir [./svn]: " SVN_DIR SVN_DIR=${SVN_DIR:-./svn} echo "SVN directory is" $SVN_DIR read -p "Enter version: " VERSION echo "Version is" $VERSION # build npm run build # 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 ci -m 'Release tag' $VERSION