public
Last active — forked from scribu/plugin-deploy.sh

Plugin deploy script

  • Download Gist
plugin-deploy.sh
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
#!/bin/bash
 
# args
MSG=${1-'deploy from git'}
BRANCH=${2-'trunk'}
 
# paths
SRC_DIR=$(git rev-parse --show-toplevel)
DIR_NAME=$(basename $SRC_DIR)
DEST_DIR=~/svn/wp-plugins/$DIR_NAME/$BRANCH
 
# make sure we're deploying from the right dir
if [ ! -d "$SRC_DIR/.git" ]; then
echo "$SRC_DIR doesn't seem to be a git repository"
exit
fi
 
# make sure the destination dir exists
svn mkdir $DEST_DIR 2> /dev/null
svn add $DEST_DIR 2> /dev/null
 
# delete everything except .svn dirs
for file in $(find $DEST_DIR/* -not -path "*.svn*")
do
rm $file 2>/dev/null
done
 
# copy everything over from git
rsync -r --exclude='*.git*' $SRC_DIR/* $DEST_DIR
 
cd $DEST_DIR
 
# check .svnignore
for file in $(cat "$SRC_DIR/.svnignore" 2>/dev/null)
do
rm $file -rf
done
 
# Transform the readme
README=$(find $DEST_DIR -iname 'README.m*')
sed -i '' -e 's/^# \(.*\)$/=== \1 ===/' -e 's/ #* ===$/ ===/' -e 's/^## \(.*\)$/== \1 ==/' -e 's/ #* ==$/ ==/' -e 's/^### \(.*\)$/= \1 =/' -e 's/ #* =$/ =/' $README
 
mv $README $DEST_DIR/readme.txt
 
# svn addremove
svn stat | grep '^\?' | awk '{print $2}' | xargs svn add > /dev/null 2>&1
svn stat | grep '^\!' | awk '{print $2}' | xargs svn rm > /dev/null 2>&1
 
svn stat
 
svn ci -m "$MSG"
plugin-tag.sh
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/bin/bash
 
if [ $# -lt 1 ]; then
echo 'usage: plugin-tag 1.2.3'
exit
fi
 
TAG_NAME=$1
 
git tag $TAG_NAME
git push
git push --tags
 
plugin-deploy "tagging version $TAG_NAME" tags/$TAG_NAME

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.