#!/bin/bash
##본 script 파일명
SCRIPT_NAME=`basename $0`
function help() {
echo
echo "Usage: ${SCRIPT_NAME} <svn_repo>"
echo
echo "Parameters:"
echo " <svn_repo> - svn repository root dir"
echo
echo "Examples:"
echo " ${SCRIPT_NAME} /opt/test04"
echo
exit -1
}
# parameter min 1
if [ ! $# -ge 1 ]; then
help
fi
# parameter setting
PATH_TO_REPO=$1
# Check if they are empty and if they are quit
if [[ -z "$PATH_TO_REPO" ]]; then
help
fi
# Check if the repo path exists, and if it's a valid SVN repository
if [ ! -d "$PATH_TO_REPO" ]; then
echo "Directory ${PATH_TO_REPO} doesn't exist."
echo "Exiting."
exit -1
fi
# today YYYYMM ex) 2014-02-24 is 201402
# dir YYYYMM
# file is YYYYMMDDHHMM
tdy_YYYYMM=$(date +"%Y%m")
tdy_YYYYMMDD=$(date +"%Y%m%d%H%M")
#####################################################################################
### ADD ###
#####################################################################################
INDADDALL="y";
ADDANS="y";
UPDATEANS="y";
COMMITANS="y";
for CURRENT in `svn st $PATH_TO_REPO | grep ? | awk -F " " '{print $2}'`;
do
if [ $INDADDALL = "n" ]
then
echo "### ADD #####################################################";
echo "??? Are you want to add $CURRENT file ? (y/n/yesall/skip)...";
read ADDANS;
fi
if [ $ADDANS = "n" ]
then
echo "!!! $CURRENT...not added!"
fi
if [ $ADDANS = "yesall" ]
then
INDADDALL="y";
fi
if [ $ADDANS = "skip" ]
then
break
fi
if [ $ADDANS = "y" ]
then
svn add $CURRENT
#echo "svn add $CURRENT...added!";
fi
if [ $INDADDALL = "y" ]
then
svn add $CURRENT
#echo "svn add $CURRENT...added!";
fi
sleep 1
done
#####################################################################################
### UPDATE ###
#####################################################################################
echo "### UPDATE ########################################################";
echo "??? Are you want to UPDATE your working directory..........(y/skip)"
svn update $PATH_TO_REPO
#####################################################################################
### COMMIT ###
#####################################################################################
echo "### COMMIT #############################################################";
echo "??? Are you want to COMMIT whith a comitment message..........(y/n/skip)"
echo "??? Enter your commitment MESSAGE....... "
svn commit -m "without_message_commited_on_$tdy_YYYYMMDD" $PATH_TO_REPO
#####################################################################################
#####################################################################################
'42.SVN' 카테고리의 다른 글
| SVN + crontab (0) | 2011.02.17 |
|---|