Action unknown: copypageplugin__copy
  #!/bin/bash
  tmphtpass="/var/tmp/htpass"  #определяем временный файл базы паролей
  repohome="/home/repos/"  #определяем корневую папку для репозиториев
  hgservepid="/var/run/hgserver.pid" #pid hg serve 
  hgaccesslog="/var/log/hg_access.log" #access лог файл для hg server
  domain="exapmple.com" #tld имя сервера 
  confdir="/etc/hg/" #определяем корневую папку для конфигов
  confile=${confdir}"repo.cfg" #основной конфиг файл /etc/hg/repo.cfg
  webconfig=${confdir}"web.config" #конфиг для hg server /etc/hg/web.config
  nginxconfig=${confdir}"nginx.conf" #конфиг для nginx /etc/hg/nginx.conf
  nginxauthdir=${confdir}"nginx/" #папка баз паролей для доступа к репозиториям
  [ -s ${confile} ] || echo "where is config file?"  #проверяем наличие основного конфига
  [ -s ${confile} ] || exit 0 # огорчаемся, если нет основного конфига
  #парсим секцию [repos] на предмет репозиториев
  repos=`cat ${confile}|sed '/^$/d'|sed '/^#/d'|sed 's/\ //g'|awk '/\[repos\]/{
  is_repos=1;
  while (is_repos==1)
      {if (getline <= 0 || index($0,"[")==1)
          {is_repos=0;}
      else
          {print $0;}}}'`
  #Проверяем наличие папок с репозиториями и при необходимости создаем
  for i in ${repos}
  do;[ -d ${repohome}${i} ] || /usr/bin/hg init ${repohome}${i};done
  #генерируем конфиг для hg server
  echo "[web]
  allow_push = *
  push_ssl = false
  [paths]" > ${webconfig}
  #разрещаем доступ только к активным репозиториям
  for i in ${repos}
  do;echo ${i}=${repohome}${i} >> ${webconfig};done
  #перезагружаем hg serve
  [ -a ${hgservepid} ] && /bin/kill `/bin/cat ${hgservepid}` && rm ${hgservepid}
  /usr/bin/hg serve -d -A ${hgaccesslog} -p 8080 -a 127.0.0.1  --pid-file  ${hgservepid} --encoding utf8 --webdir-conf ${webconfig}
  #создаем конфиг для nginx
  echo "server 
      {
      listen              443;
      server_name hg."${domain}";
      client_max_body_size 128M;
      ssl on;
      ssl_certificate             /etc/ssl/nginx/nginx.pem;
      ssl_certificate_key /etc/ssl/nginx/nginx.key;" >  ${nginxconfig}
  #создаем lacation для активных репозиториев
      for i in ${repos}
          do
      echo "location /"${i}"
          {
          proxy_pass http://127.0.0.1:8080;
          auth_basic           \"Restricted\";
          auth_basic_user_file "${nginxauthdir}${i}".pass;
          access_log  /var/log/nginx/"${i}".hg."${domain}".ssl_access_log main;
          error_log   /var/log/nginx/"${i}".hg."${domain}".ssl_error_log info;
          }" >>  ${nginxconfig}
          done
  echo "}" >> ${nginxconfig}
  #создаем (обнуляем на всякий случай) временную базу паролей
  cat /dev/null > ${tmphtpass}
  #парсим секцию основного конфига [users]
  #генеририруем пароли для все активных пользователей
  cat ${confile}|sed '/^$/d'|sed '/^#/d'|sed 's/\ //g'|awk -v passfile=$tmphtpass '/\[users\]/{
  is_users=1;
  while (is_users==1)
      {if (getline <= 0 || index($0,"[")==1)
          {is_users=0;}
      else
          {split($0,userpass,"=");system("htpasswd -b "passfile" "userpass[1]" "userpass[2]);}}}'
  #парсим секцию [access] основного конфига
  #и получаем список привилегий вида repo=user1,user2
  access=`cat ${confile}|sed '/^$/d'|sed '/^#/d'|sed 's/\ //g'|awk '/\[access\]/{
  is_access=1;while (is_access==1)
      {if (getline <= 0 || index($0,"[")==1)
          {is_access=0;}
      else
          {print $0;}}}'`
  #проверяем есть ли папка для хранения баз паролей
  [ -d ${nginxauthdir} ] || mkdir -p ${nginxauthdir}
  #удаляем старые файлы баз паролей
  find ${nginxauthdir} -type f -name *.pass -delete
  #для каждого репозитория из секции [access] генерируем личную базу паролей
  for i in ${access}
  do;echo ${i}|sed 's/,/\|/g'|awk -v tmphtpass=${tmphtpass} -v nginxauthdir=${nginxauthdir} \
  'BEGIN{FS="="}{system("cat "tmphtpass" |egrep \""$2"\" > "nginxauthdir""$1".pass")}'done
  #перезапускаем nginx
  /etc/init.d/nginx restart
  #удаляем временный файл базы паролей
  rm ${tmphtpass}