roboforum.ru

Технический форум по робототехнике.

svn roboforum

Вопросы не попавшие в другие категории.

svn roboforum

Сообщение Vooon » 22 ноя 2007, 20:45

подготавливаю админ-скрипты для управления свн-ом
вот главный:
Код: Выделить всёРазвернуть
#!/bin/bash
# SYS REQ:
#    realpath, uuencode


# get users
# example:
#    "vooon/535
#    digit/19
#    сергей/34"
if [ -n "$1" ]; then
   names="$1"
else
   echo "Nothing to do"
   exit 0
fi
# get basepath
if [ -n "$2" ]; then
   cd "$2" || { echo "Error1"; exit 1; }
   basepath=`realpath ./`
else
   basepath=`realpath ./`
fi

cd "${basepath}/byid" || {
   echo "creating ${basepath}/byid"
   mkdir "${basepath}/byid"
}
cd "${basepath}"

userpasswds="./pwds.log"

for nameid in $names; do
   name=`echo ${nameid} | cut -d"/" -f 1`
   id=`echo ${nameid} | cut -d"/" -f 2`
   repobase="${basepath}/${name}"
   mkdir ${repobase} && {
      pub="${repobase}/public"
      priv="${repobase}/private"
      # keygen :)
      pass=`head -c 8 /dev/random | uuencode -m - | tail -n 2 | head -n 1`
      echo "creating repositories for ${name}"
      ln -s ${repobase} "${basepath}/byid/${id}"
      mkdir "${pub}"
      mkdir "${priv}"
      svnadmin create "${pub}"
      svnadmin create "${priv}"
      rm "${pub}/conf/authz"
      rm "${pub}/conf/passwd"
      ln -s "${priv}/conf/authz" "${pub}/conf/authz"
      ln -s "${priv}/conf/passwd" "${pub}/conf/passwd"
      echo "repositories created, configuring"

      # authz file
      echo "[groups]
user = ${name}

[/]
@user = rw
* = r
      " > "${priv}/conf/authz"

      # passwd file
      echo "[users]
${name} = ${pass}
      " > "${priv}/conf/passwd"

      # svnserve.conf files
      # public
      echo "[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = ${name} public repo
      " > "${pub}/conf/svnserve.conf"

      # private
      echo "[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = ${name} private repo
      " > "${priv}/conf/svnserve.conf"

      echo "`date` - ${name} = ${pass}" >> $userpasswds
      echo "configuried successful. password for ${name}: ${pass}"
   }
done


### run svnserve
### urls:
# svn://<host>/<username>/public
# svn://<host>/<username>/private
# svn://<host>/byid/<userid>/public
# svn://<host>/byid/<userid>/private
#svnserve -d -r "${basepath}"

### open svn://host:3690
### TODO: нужно написать комманды чтобы открыть порт
# $ grep ^svn /etc/services
# svn             3690/tcp        subversion      # Subversion protocol
# svn             3690/udp        subversion

# закончили успешно
exit 0


может можно его сделать лучше? :wink:
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков

Re: svn roboforum

Сообщение Master » 23 ноя 2007, 08:41

А я тоже знаю страшные слова синхрофазотрон и фазоинвертор.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: svn roboforum

Сообщение Digit » 23 ноя 2007, 10:35

Начал вначале код читать, а потом подумал: "Я все понял!!! Он над нами издевается!!!" :o
На этом читать закончил :)

Vooon, мы можем пальцами показывать на косяки, когда все уже работает... :wink:
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: svn roboforum

Сообщение Vooon » 23 ноя 2007, 18:22

не флудим :x
меня интересуют мнения линуксоидов :likelinux: :roll: :)

Добавлено спустя 1 час 7 минут 56 секунд:
пока тестирую на своей машине
svn://vooon.homelinux.org/
Linux user | Firefox user
Аватара пользователя
Vooon
Site Admin
 
Сообщения: 3339
Зарегистрирован: 09 фев 2006, 15:36
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков


Вернуться в Обо всём

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 2