ほとんどうまくいった Mikko's Answer を読んだ後、インストールのための独自のメモを思いつきました。私のセットアップは、チームのメンバーが Windows 2008 Server にインストールして使用できる「保護されていないオープンな」リポジトリになるように設計されています。
1. Python をインストールします。
私が使用した Python のバージョンはPython 2.6.2で、Windows x86 MSI インストーラーを使用しました。
- すべてのユーザーにインストールします。
- C:\Mercurial\Python にインストール
- デフォルトの機能オプションを使用します。
2. MinGW をインストールします。
私が使用した Minimalist GNU for Windows のバージョンはMinGW 5.1.4でした。
- MinGW-5.1.4.exe をインストールします。
- ダウンロードとインストールのオプションを選択します。
- インストールする現在のパッケージ オプションを選択します。
- インストールするコンポーネントについては、「最小」オプションを選択します。
- C:\Mercurial\MinGW にインストール
3. パスを変更します。
この時点で、環境パスに場所を追加する必要があります。
- ' C:\Mercurial\Python26;C:\Mercurial\MinGW\bin ' をパスに追加します (順序が重要です)。
4. Mercurial をインストールします。
私が使用した mercurial のバージョンは安定版ブランチの最新リリースで、バイナリは使用せず、ソース コードを使用しました。インストールした Python のどのバージョンでも動作するように自分で mercurial をコンパイルしたかったので、他のインストール方法で最大の課題であることがわかった互換性の問題について心配する必要はありませんでした。ソースを入手する最も簡単な方法は、「zip」ファイルをダウンロードすることです。
Mercurial 安定版リリース
- Zip ファイルを C:\Mercurial\Source に解凍します。
- コマンド プロンプトでソースをビルドします。
python setup.py ビルド --force -c mingw32
python setup.py インストール --force --skip-build
5. パスを変更します。
環境パスに「hg」コマンド用の別の場所を挿入する必要があります。
- ' C:\Mercurial\Python26\Scripts;C:\Mercurial\Python26;C:\Mercurial\MinGW\bin ' をパスに追加します (順序が重要です)。
6. 構成ファイルを作成します。
このサーバーでローカルにコミットを行う場合は、デフォルトのユーザー名を設定する必要があります。
- ファイル ' "C:\Documents and Settings{username}.hgrc" 'を作成します
[うい]
エディター = メモ帳
ユーザー名 = あなたの名前
6. インストールをテストします。
新しいコマンド ウィンドウを開き、' hg debuginstall ' でテストして検証します。次のようなものが表示されます。
エンコーディングをチェックしています (cp1252)...
拡張子を確認しています...
テンプレートをチェックしています...
パッチをチェックしています...
コミット エディタをチェックしています...
ユーザー名を確認しています...
問題は検出されませんでした
7. Web ディレクトリをセットアップします。
- ディレクトリ ' C:\Mercurial\Web ' を作成します
- hgwebdir.cgi ファイルを「C:\Mercurial\Source」から「C:\Mercurial\Web」にコピーします。
8. 集中リポジトリ用に IIS7 を構成します。
.Net 2.0、Pipeline = Integrated、Identity = ApplicationPoolIdentity を使用している DefaultAppPool を使用しました。
- CGI 機能が IIS7 で使用できることを確認します。
- コントロール パネル/プログラム/Windows の機能/IIS/アプリ開発機能/CGI
- 希望する Web サイトの IIS にアプリを追加します。
- Alias=Mercurial -- 物理パス=C:\Mercurial\Web
- アプリで [HTTP モジュール] を選択し、新しいモジュール マッピングを追加します。
- リクエスト パス=*.cgi、モジュール=CgiModule、実行可能ファイル=C:\Mercurial\Python26\python.exe %s、名前=Mercurial.
- ISAPI および CGI 制限リストにエントリを追加するように求められたら、はいと言います。
9. Web セットアップをテストします。
これで、 http://localhost/Mercurial/hgwebdir.cgiをブラウズして、リポジトリ リストを表示し、空にすることができるはずです。
10. フレンドリ URL 用に IIS7 を構成する
わかりにくい URL は気に入らなかったので、この手順により、URL をよりわかりやすい URL に再マッピングできます。IIS 用のURL 書き換えモジュール 1.1拡張機能をインストールします。
- IIS マネージャー機能ビューの Mercurial IIS アプリケーションで、[URL 書き換えコンポーネント] を選択し、新しいルールをインストールします。
- [ルールの追加] を選択してから、[書き換えマップを含むルール] テンプレートを選択します。ルール アクション = 書き換え、書き換えマップを指定 = Mercurial
- マッピング エントリを追加します。OriginalValue='/Mercurial/Repo'、新しい値='/Mercurial/hgwebdir.cgi'
11. Mercurial リポジトリの作成
これで、テスト リポジトリを作成できます。
- ディレクトリ C:\Mercurial\Repository を作成し、IUSR アカウントにディレクトリへの書き込み権限があることを確認します。(ドメイン アカウントが IUSR_{ComputerName} に似ている場合。
- ファイル C:\Mercurial\Web\hgweb.config を作成して、リポジトリを一覧表示します。
[パス]
/ = C:\Mercurial\リポジトリ\**
- ディレクトリ C:\Mercurial\Repository\Test を追加し、'hg init' でリポジトリを初期化します。
** ssl なしでプッシュできるようにしたい場合は、リポジトリの .hg ディレクトリに次の行の hgrc ファイルを作成します。
[ウェブ]
allow_push = *
push_ssl = false
参考文献:
Mercurial Wiki Windows
HG Book のインストール
ステップ バイ ステップ
Mercurial リポジトリの公開