Mercurial/TortoiseHGの使い方・リポジトリサーバの立て方

サイブリッジではバージョン管理システムにメインでSubversionを使っています。

使い慣れると不便なこともなく、使えるのですが、操作を誤るとバージョン管理が壊れたりなど、すこし不満があったのでMercurialという比較的新しいバージョン管理システムを検証も含め試してみました。


hglogo.png

なぜMercurial?

バージョン管理システムシステムにはCVS、Subversion、Git、Mercurial、Bazaarといろいろあるのですが、それぞれメリットがあります。その中も特に魅力的と思った点は

  • windowsクライアントがwindows7でちゃんと対応かつ優秀。(日本語ももちろんOK)
  • CentOSでyumでインストール可能
  • パッケージに最初からWEBベースのリポジトリブラウザが入ってる
  • http(s)で通信可能。WebDav不要。(認証がSSHでないのでクライアント毎に分けられる。)
  • 意外と伸びてる( GoogleTrend参照  )
  • トップフォルダのみ.hgが入っている。subversionのようにフォルダをコピーしても壊れない。
  • GoogleCodeも採用

参考文献

Google CodeがGitではなくMercurialを採用へ

分散バージョン管理Git/Mercurial/Bazaar徹底比較


どのように使うか?

CentOSで使う場合

yum install gcc python python-devel python-setuptools -y

easy_install mercurial

上記のみでインストール完了。簡単ですね。コマンド一覧はこの辺を参考にしてみてください。


Windosで使う場合

TortoiseHGをダウンロード・インストール。32bit版か64bit版を選んでインストール。


基本的には上記のインストールのみで利用可能になります。


リポジトリサーバの立て方(Linuxで)

せっかくのバージョン管理なのでリポジトリサーバを用意したいと思います。httpやhttpsで繋がるサーバにしたいと思います。


クライアントのインストール。

yum install gcc python python-devel python-setuptools -y
easy_install mercurial


次にリポジトリフォルダの作成

mkdir -p /var/hg/test/repos

hg init /var/hg/test/repos


WEB経由で書き込めるようにする

vi /var/hg/test/repos/.hg/hgrc 
[web]
push_ssl = false
allow_push = *


通信プロキシスクリプト(?)の設置

vi /var/hg/test/index.cgi

中身はこんな感じ

#!/usr/bin/python
import sys
sys.path.insert(0, "/usr/lib/python2.4")
from mercurial import demandimport; demandimport.enable()
#import cgitb
#cgitb.enable()
import os
os.environ["HGENCODING"] = "UTF-8"
from mercurial.hgweb.hgweb_mod import hgweb
import mercurial.hgweb.wsgicgi as wsgicgi
application = hgweb("repos", "repository name")
wsgicgi.launch(application)

元データはインストールフォルダのどこかにありました。

パーミッションも755に設定
chmod 755 /var/hg/test/index.cgi


.htaccessでフォルダの制限する

/var/hg/test/に.htaccessを設置。このスクリプトを置くとユーザ追加も簡単になって便利です。


Apacheの設定

vi /etc/httpd/conf.d/mercurial.conf
Alias /hg /var/hg
<Directory "/var/hg">
    AllowOverride All
    Options -Indexes +ExecCGI
    AddType application/x-httpd-cgi .cgi .pl
    DirectoryIndex index.html index.cgi

</Directory>

リロードを行います。

/etc/init.d/httpd reload


完成

 完成です。

http://******/hg/test/

上記のアドレスにアクセスすると下記のような画面が現れます。

Screenshot_1.png

パスワードの設定方法

https://******/hg/test/htpasswd.php


セキュリティ上必要に応じてSSLを設定してください。


Clone方法(subversionでいうチェックアウト方法)

Linuxコマンドラインなら

hg clone http://******/hg/test/ /path/to/folder

Windowsなら

エクスプローラー上でフォルダを右クリック→Tortoise→Clone→Sourcepathに「https://******/hg/test/」を入力。


注意点

Subirsionに慣れている方は一手間増えるのでややこしいかも。

コミット方法

ファイルを修正・変更→Commit→Push(Windowsの場合右クリック→synchronizeから)

更新方法

Pull(Windowsの場合右クリック→synchronizeから)→Update

上記の手順を踏まないといけないので若干ややこしいです。その代わりにリポジトリが汚れにくくなるのがメリット。分散バージョン管理は慣れるまでのハードルが高いです。

Pull→Updateは設定で自動的に行うことができるようです。


ユーザ名の設定

コミットするユーザー名の設定だけはやらないといけないので書いておきます。

Linuxの場合

vi /var/hg/test/repos/.hg/hgrc
[ui]
username = hogehoge <hogehoge@example.com>

Windowsの場合

管理されているフォルダを右クリック→TortoiseHG→Global Settings→Commit
Usernameに設定「hogehoge <hogehoge@example.com>」


以上長くなりましたが、Mercurialライフをお楽しみください。

[我流]Beckyの使い方

becky_logo.gif

10年くらいの付き合いになるのでしょうか。
こんなに長く愛し続けたアプリケーションは他にはなかったと思います。
メーラーといえば最近だとWEBベースのGmailだったり、thunderbirdeudoraなどありますが最近はGmailを多く使っているように思います。

私自身もGmailは個人アカウントでは使ってます。(GoogleAppsですが。)
確かにGmailはメールをタグという概念で整理するようにしており非常に便利ですが、
やっぱり

  • 自社管理外のサーバに置いておくこと
  • 有料版がわりと高いこと
  • 拡張が難しいこと

 ということを理由にオリジナルメールサーバ(dovecot+postfixベース)+Beckyを使っています。
やっぱりフォルダ管理という事に限界が訪れメールの読み忘れなどが発生してしまい。
フォルダ分けルールが酷い状態になっていました。

有料ソフトではありますが、買い切りなので非常に安いと思います。一生ものです。
ボリュームライセンスですが、100ライセンスで10万円程度です。(たしか)

そこで、自分なりに整理をしてみました。ちょっと恥ずかしいけどこんな感じ。

becky_folder.gif
自分へのメモ、社内共有用として詳しく書いておきます。

1.フォルダは極力少なく、入るメールの件数は均等になるようにする

 むやみやたらに、宛先や送信元で分けてしまうなどするとプロジェクトが増えたり、掛け持ちしたりすると使わないフォルダ、使うフォルダができてしまうので無駄なフォルダができてしまいます。フォルダは極力シンプルにします。
 加えてフォルダに入っていく分量ができるだけ均一にするのがコツかと思います。
 私が分けているフォルダは下記のようになります。

  • マイフォルダ・・・自分のメインのフォルダ・普段使いのフォルダ
  • メーリングリスト・・・そのまま、あらゆるメーリングリスト
  • wiki・・・社内wiki更新時の差分通知メール
  • サーバ・・・サーバ関係の通知メール
  • HR・・・採用系のメール
  • メディア・・・自社メディアのメール
  • 営業報告・・・営業報告のメール
  • 業務日報・・・作業日報
  • BTS・・・社内のバグトラッキングシステムなどのタスク共有系
  • ダイレクトメール・・・DM
  • アーカイブ・・・フォルダにメールが増えすぎると検索効率が下がるので古いものはここへ
  • スパムメール・・・DMより酷いメール(一応サーバ側でスパム処理はしてますが)
大体こんな感じでフォルダ分けをします。

2.クエリ保存機能を使う

 フォルダで分けるといろいろなフォルダにまたがりチェックが大変なので基本的にはマイフォルダの中でタグ感覚で検索結果を保存します。

  • 自分宛・・・Toが自分宛のメール(Toが自部宛かつ検索効率を上げるため50日以内)
  • 未読・・・自分宛で未読のメール
  • 要作業・・・フラグを立てたメール
  • (以降は自分の好きなように。アクティブプロジェクトの検索結果など、特定人物からのメールなど旬なフォルダ代わりに)
  • ・・・
  • ・・・

becky_2.gif
上記のように検索結果を保存する。「最近」**日以内というのが検索効率を上げるポイントです。

3.未読がないようにする工夫

 あまり関係がないプロジェクトだったりするとつい未読のままになっていて未読慣れを起こしてしまい、重要なメールも未読のままになったりしてしまいます。
 そこでBeckyではあえて未読でもいいフォルダは、「未読であっても無視する」という機能があります。割り切ってしまうことで未読件数を(件数はみえるが)ハイライトせずに表示してくれるようになります。
 方法:フォルダで「右クリック」→「プロパティ」

becky_3.gif
4.後でやることにはフラグを振ってタスク管理

 返信や作業・後で詳しく読むものに関してはフラグをつけます。フラグがついている箇所でダブルクリックをすると消えたりついたりまします。

becky_4.gif
 クエリ保存でフラグがついているもののみ表示させるようにすると下記のように表示されます。

becky_5.gif
 これでタスク管理はOK。タスクが終わればフラグを消して終わり。
 期限などを設けたい場合にはBecky新機能のタスク管理で管理すればよい。(あんまり使わないけど。)

5.テンプレートの作成

 これはわりと皆さんがやっているとは思いますが、「ファイル」→「テンプレートの・・・」から変更可能です。
 返信時に自動的に挿入されます。

becky_6.gif
6.フィルタリングマネージャでフォルダ振り分けルールを作成

 うまく振り分けられないなどということがないように細かく設定を確認して誤フィルタリングを無くすように真剣に悩みましょう。過去のメールなども受信箱に戻し再振り分けなどで調整する事が非常に重要です。
 後はポイントとして頻繁にフィルタの追加をしなくてはいけないようなフォルダになっていると、フィルタリング設定がおろそかになるのでフィルタリング設定は極力シンプルを心がけましょう。

という事でもう少しありそうですが本日は疲れたのでこのくらいで。


1級小型船舶免許取りました

今年の目標は免許(資格)を3つ取ることを掲げ大型2輪免許に引き続き
1級小型船舶を取得しました。

23691319.jpg
27759209.jpg
いやぁ。実技が酷く怖かったです。

終わってから話しを聞くと

藤田さんも書いているように原点に返るというか、初心に返りました。
緊張とか、慣れてないと自分にももどかしいくらい
パフォーマンスが発揮できないものすね。
いい経験でした。

よしー今年は船借りて、釣りにいこう。
カジキマグロ釣りとかもやってみたいんですよね。

twitter


twitter_logo_header.png
完全に出遅れましたがようやく使うようになりました。 
(登録はだいぶ昔にはしていたのですが)


良かったらフォローしてください。

Bing+Yahoo vs Google

最近話題になっているBingネタですが、Yahoo! JapanもBing採用か?なんてありますが、各SEO会社も必死にBing対応なんて流れになっているようです。
今後も目が話せないトピックです。

自身考えたことはまさにこの記事(検索エンジン・ビジネスにはもはや公的規制が必要だ)という記事でした。
公的規制には紆余曲折はあるとはおもいますが、当然ですが検索エンジンというのはGoogleの時価総額(8月2日時点1400億ドル=14兆円)も示しているようにビジネス上非常に価値が高いということがわかります。
(現時点で日本のトップ時価総額のトヨタと同じくらいなんですね。)

今までのインターネットは検索エンジンによって

キーワード→検索結果→特化ポータルサイト→(たとえば)店舗サイト→(たとえば)購買

という流れだったかと思いますが米Bingの価格比較コンテンツをみてびっくりてしまいました。
現在の流れを覆すような

キーワード→検索結果→特化ポータルサイト→(たとえば)店舗サイト→(たとえば)購買

というフローになってしまうことにより、中間ポータルサイトの価値が薄くなってくるのではという気がしました。

今後ビジネスにおいて検索エンジンからの集客という現在の考えを(あるいは特化・中間ポータルサイトの立ち位置)改め、次のフェーズに入っていかないといけないということを痛感した日曜日でした。

P.S.
今後はキャンパスシティと相乗効果の出るようなサービスに変えていければと思います。

WILLCOM CORE 3G

willcomのサムネール画像

意外と知られていないdocomo網を使った(MVNOWILLCOM CORE 3G 今までE-Mobileユーザでしたが、やはりdocomoの回線を使っているということで範囲が広いのが非常にありがたい。
Wimaxとかも範囲が広ければいいのですが。

値段もdocomoのデータ定額より4,000円近く安いし。

サービス開始時は7.2Mとは思えない重さ。willcomのPRINというプロバイダがボトルネックだったみたいです。

15日に工事が行われ無事(?)ちょっと遅いレベル(0.5Mbps)までにスピードがあがりました。

正直イーモバイルのほうが早かったのですが
基本的に社内のPCにはリモートデスクトップで入っているのでこれくらいでれば、十分です。

ちなみに私はUSBの接続ではなくVaioTypePのWANを使ってアンテナレス(?)でつないでます。

参考:

介護のおしごとリリースしました

あっという間に久しぶりの更新になってしまいました。
企画立案からサイト立ち上げまで2ヶ月弱。
先週の金曜日に介護求人特化の求人サイト介護のおしごとがオープンしました。


介護のおしごと

Opera - サイブリッジ標準ブラウザ

operalogo-thumb-150x88.gif

最近またちょっと話題になっているみたいですね。

サイブリッジでは、標準ブラウザとしてOperaを設立当初から基本的にどのPCにも入れていました。
アドオンを好きに入れたFireFoxや、Chromeなどを使っている人もいますが、
やっぱりちょっと障壁が高い(調整が必要)ので
初期設定でかなり使えるOperaを標準にしています。
やはり、カスタマイズがあまり必要でない点が一番大きいような気がします。
(逆にOperaはあまりカスタマイズができない)

もともと有料だったとこともあり、ちょっとビジネスユースぽかったてのもありました。
あとページのキャッシュが強いところが非常に好きです。(戻る、進むの動作が早い)

基本使い慣れて、一番仕事の効率が上がるものを使えばいいというスタンスですが、
意外と癖になる感じなので使ったことがない方は是非。
若干ライトユーザ向けかも。

ブログはじめます。

3年ぶりくらいのブログ再開です。
元のデザインは社長のブログのテンプレートをパクって久々のMT(MovableType)に戸惑いながら、どうにか設置しました。昔に比べ高機能になっていてびっくりです。

思い返せば、ブログという物が世の中に出始めたばかりの時に
学生時代に立ち上げた有限会社キャンパスシティという会社で
学生社長日記というブログをやっていて、結構頑張って書いてたもんです。

今は思い返すと赤面しそうな内容だったかもしれません。笑

ということで、今のところノープランですが、いろいろ更新して行こうかと思います。