ここを参考にした。
Mercurialのインストール
# yum install gcc python python-devel python-setuptools # easy_install mercurial
リポジトリ用のユーザ作成
# adduser hg $ cd /home/hg/ $ mkdir public_html
hgweb.cgiを取得
ソースを取ってくる*1。
http://mercurial.selenic.com/release/?M=D
$ wget http://mercurial.selenic.com/release/mercurial-1.7.5.tar.gz $ tar xvzf mercurial-1.7.5.tar.gz $ cp mercurial-1.7.5/hgweb.cgi public_html
hgweb.cgiを以下のように編集する。
# hgweb.cgi
#!/usr/bin/env python
#
# An example hgweb CGI script, edit as necessary
# See also http://mercurial.selenic.com/wiki/PublishingRepositories
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "/home/hg/.config"
# Uncomment and adjust if Mercurial is not installed system-wide:
#import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
wsgicgi.launch(application)
import os
os.environ["HGENCODING"] = "UTF-8"
hg設定
vi /home/hg/.config
hgリポジトリのリストを格納するディレクトリを指定する。
[collections] /home/hg/repos = /home/hg/repos
リポジトリリストの所有者をapacheユーザに設定する。
# chown -R apache. /home/hg/repos
このままじゃapacheがhgのホームディレクトリ以下に入れないので
# chmod +x /home/hg
httpd.confを編集する
# httpd.conf Alias /hg/ /home/hg/public_html/ <Directory "/home/hg/public_html"> Order allow,deny Allow from all AllowOverride All Options ExecCGI AddHandler cgi-script .cgi # SSL必須にする SSLRequireSSL </Directory>
ターゲットリポジトリにpush許可
# [target_repository].hg/hgrc [web] description = short description of repo-name author = Madoka Kaname <madoka@example.com> allow_push = *
apache再起動(reloadでもいける?)
Basic認証をかける
$ htpasswd -c /home/hg/repos/.htpasswd madoka
# /home/hg/public_html/.htaccess AuthName "Mercurial Repositories Authentication" AuthUserFile /home/hg/repos/.htpasswd AuthType Basic Require valid-user
pushのたびに認証するのめんどくさい?
Repository Settingsから
追記
会社のリポジトリ環境触ってたときにこれ見ながらやってて
なぜかできねーって嘆いてたらBasic認証の文法おもいっきり間違ってたので修正。
*1:運用してるMercurialとバージョンは合わせた方がいいよ
投稿者紹介
-
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。
最近のエントリ
- レポート2019.10.28ユニキャストレストランを開催しました🍳
- レポート2019.08.29社内研修ワークショップ~マシュマロ・チャレンジ~
- レポート2019.08.06Computex/InnoVEX 出展者・通訳として参加してきました。
- レポート2018.06.12Computex 2018 レポート