諸般の事情により、社内のLinuxサーバーが淘汰される運びとなり、諸々の環境をWindows Server上に構築する必要が出てきた。当然、GitのリモートリポジトリもWindows Server上に置かねばならなくなったが…これが苦難の道程。
環境
[サーバー]Windows Server 2008 R2
[クライアント]Windows7 64bit
Gitblit GOを試す
まずはGitblit Goを入れてみた。試したバージョンは1.6.0。導入はすごく簡単だった。公式ページの手順に従うだけですんなり構築完了した。インターフェースも日本語化され、なかなかいい感じかと思われたが…。リモートとの通信が死ぬほど遅い。httpで通信してpushやpullが3分前後かかる。意味がわからない。ちょっと実用に耐えるとは言い難い。
IIS7 に Bonobo Git Serverを入れてみる
Bonobo Git Serverというものを見つけたので、試してみた。こちらも導入はわりと簡単で、まっさらな状態だったのでIISインストールから行ったが公式のインストールページに従うだけでセットアップできた。が!こちらも死ぬほど遅い…。push/pullがGitBlitより時間かかる印象。うーむ。
次は…
もはや仮想環境に適当なLinux突っ込むしかない…のか?IPアドレスの衝突も無い、ファイアーウォールによる影響でもない、PINGは1msで返ってくる。管理者にも確認してもらったが、ネットワークの問題でも無さそうだ。Windows上にリモートリポジトリを置くとこんなもんなのだろうか?そんなこんなで現在対応を考え中。
その後
コメントで情報を頂いたGitBucketを試してみました。Tomcatが入っていれば導入は非常に簡単でした。しかし、通信速度に変化は見られず…。これはどうやらホスティングアプリケーションのせいでは無さそうだぞ…。
同じサーバー上に設置したSubversionはHTTPで問題なく動作している。ファイルサーバーとしても問題なく動作している。どうやらGitだけが様子がおかしいようだ。引き続き調査だ。
Gitクライアントを疑ってみる
サーバーでないならクライアントか?ということでGitクライアントを幾つか試してみる。ひとまず、msysGitも最新版(1.9.4)にしてみた上で試すことにした。
SourceTree
Gitクライアントといえばコレ。バージョンは1.5.2.0。最初から使っていたので、今回の構成でも使い続ける予定だったが本件が発生。ちょっと別のを試すことに。
TortoiseGit
Subversion時代はお世話になったTortoiseのGit版。バージョンは1.8.9.0。pushはうまく動作したけど、pullでコケた。pullでエラーさえ発生しなければコレでいい気がする。
Git Bash
msysGitについてくるアレです。こちらは何事も無く動作した。とりあえずコア部分であるGitが機能する事が確認できた。
まとめると
よくわからんというのが正直なところ。こんなに苦労してまでGitを使うかどうかの判断を迫られているところまで来た感じ。業務にならないのでは導入を強く推すこともできない…。Subversionに逆戻りか…。