SVN manage scripts
Script to manage users and repositories:
#!/bin/bash
#
# /**
# @file list_svn_users.sh
# @author Oscar Gomez Fuente <oscargomezf@gmail.com>
# @ingroup iElectronic
# @date 28/01/2015
# @version 1.0.0
# @section DESCRIPTION
# Scripts to manage users and repositories in svn
# */
create_svn_user() {
flag_found=0
PATH_PASSWD="/etc/apache2/users_svn.passwd"
if [ "$#" -ne 1 ]; then
echo "[ERROR] Illegal number of parameters"
echo -e "\t usage: $0 [username]"
return 1
else
if [ ! -f $PATH_PASSWD ]; then
echo "[INFO] Intro the password for $1:"
sudo htpasswd -c $PATH_PASSWD $1
else
USERS=$(cat $PATH_PASSWD | grep -oE '^[^:]+')
for i in $USERS
do
if [ "$i" == "$1" ]; then
flag_found=1
fi
done
if [ "$flag_found" == "1" ]; then
echo "[INFO] User exist, change the password:"
else
echo "[INFO] Inro the password for $1:"
fi
sudo htpasswd $PATH_PASSWD $1
fi
fi
}
delete_svn_user() {
PATH_PASSWD="/etc/apache2/users_svn.passwd"
PATH_TMP_PASSWD="/tmp/users_svn.passwd"
if [ "$#" -ne 1 ]; then
echo "[ERROR] Illegal number of parameters"
echo -e "usage: $0 [username]"
echo -e "\tusername: the username to delete"
return 1
else
USERS=$(cat $PATH_PASSWD | grep -oE '^[^:]+')
for i in $USERS
do
if [ "$i" == "$1" ]; then
echo "[INFO] user: $i deleted"
sed "/$1:/d" $PATH_PASSWD > $PATH_TMP_PASSWD
sudo mv $PATH_TMP_PASSWD $PATH_PASSWD
exit 0
fi
done
echo "[INFO] user: deleted not exist"
fi
}
list_svn_users() {
PATH_PASSWD="/etc/apache2/users_svn.passwd"
cat $PATH_PASSWD | grep -oE '^[^:]+'
}
create_svn_repository() {
PATH_SVN="/var/SVN"
if [ "$#" -ne 1 ]; then
echo "[ERROR] Illegal number of parameters"
echo -e "usage: $0 [repository_name]"
echo -e "\trepository_name: name's repository"
exit 1
else
sudo rm -rf /tmp/$1 2>&1 > /dev/null
sudo mkdir -p /tmp/$1/release
sudo mkdir -p /tmp/$1/branch
sudo mkdir -p /tmp/$1/trunk
sudo svnadmin create $PATH_SVN/$1
sudo svn import /tmp/$1 file://$PATH_SVN/$1 -m '"'"$1 repository creation"'"'
sudo chown -R www-data:subversion $PATH_SVN/$1
sudo rm -rf /tmp/$1
fi
}
Add permissions to edit comments reviews
# mv $PATH_SVN/$1/hooks/pre-revprop-change.tmpl $PATH_SVN/$1/pre-revprop-change
# chmod +x $PATH_SVN/$1/hooks/pre-revprop-change