これの続きです。
今回の目標は、
ということに。
まずは、Mercurialの設定から行っていきます。
1. .hgrcを書く
まずは、自分のホームディレクトリに、.hgrcを書いて置いておきます。
中身はこんな感じに。(先輩の.hgrcまるうつし)
[ui] username = tomio(tcent)<tomio2480@gmail.com> editor = /usr/local/bin/vim merge = /usr/local/bin/vimdiff [extensions] graphlog = color = pager = [pager] pager = LESS='-FRSX' less [web] cacerts = /etc/pki/tls/certs/ca-bundle.crt
[ui]
username = tomio(tcent)
ローカルリポジトリにコミットしたときに、コミットしたものの名前として利用されます。これを指定しないと、アカウント名とホスト名を名前として利用されるようです。
editor = /usr/local/bin/vim
コミット時に使用するエディタの指定をします。
毎度のとおり、vimを使用することとします。
merge = /usr/local/bin/vimdiff
マージ時に使用するエディタの指定をします。
vimdiffはvimをdiffモードで使用する、ということのようです。
因みに、マージという言葉に馴染みがなかったので、若干調べました。
凡そ、統合するという意味のようです。
複数人が pull した成果を取得し、自分が pull しようとしている成果物と見比べ、再編集し統合することをマージという。という解釈をしました。正しいかどうかは、実際に使っていくうちにわかるのでしょうか。
[extentions]
ここでは、Mercurialに機能を追加するエクステンションについての記述をします。書いてある意味は、「graphlog」「color」「pager」の3つを使用するということです。
上記のサイトにエクステンションについて細かく記載されていました。今回使用するエクステンションは、すべてmercurialとともに配布されており、mercurialをインストールした時点で使用可能になるもののようです。
graphlog
コミットの履歴をアスキーアートと共に表示してくれる機能です。
使用する際は、
hg glog
と打ちこんでやるようです。
color
status, diff などをカラー表示してくれる機能です。
pager
テキストを表示する機能です。俗に言うページャです。
ページャも馴染みがなかったので、調べましたが、lessコマンドがそれに相当するようです。これはすんなりわかりました。
これを設定しないと、標準出力にコマンドの出力が直接流れ込むので、長くなれば長くなるほど履歴を追う事が難しくなるようです。
[pager]
pager = LESS='-FRSX' less
ページャの設定のようです。調べましたが、いまいちどういう意味なのかわからず。
得られた情報は、-FRSX と指定している人が多いことと、これでは折り返しをしてくれないということくらいです。
2.リポジトリの作成
これから管理して行きたいソースを保存するディレクトリを作っておきます。Haskellの勉強をするので、 haskell_files という名前としました。
そのディレクトリ内で、
hg init
3.管理するファイルと状態
状態の確認
ディレクトリ内にソースファイルなどがある状態で、
hg status
と打ちこんでやると、現在の状態を確認することができます。
現在の状態を表す記号については、
の真ん中あたりに書いてありました。
何もしていなければ、左側に ? が表示されていると思います。
管理の必要が無いファイルの処置
.hg/ と同じ場所で、.hgignore を書いて置いておきます。
内容は、
syntax:glob *.hi *.o
となっています。
.hgignore ファイルは管理の対象外とするファイル名のパターンが記述されています。
syntax:glob とすることで、シェルと同じようにワイルドカードを用いて、指定できるようにしているようです。
4.commitの手順
準備
以下のように打ちこんでやります。
hg add ファイル名
ここでも、* を使って指定することができます。
ここで、
hg status
とすると、指定したファイルの状態が A に変わっていることが確認できます。
A はコミットの準備が完了したということを示しています。
ここで、間違えてしまったときは、
hg forget ファイル名
とすることで、コミット予定のリストから除外することができます。
commitする
用意ができたら
hg commit
と打ちこんでやるだけです。
コマンドを実行すると、テキストエディタが起動して、コミットの履歴に残すコメントを打ち込むよう要求されます。ここで、あまり訳のわからないことを書くと、後に混乱を招くので、ある程度解りやすいコメントを残すこととします。
完了したようなら、hg status で確認すると A となっていたファイルが非表示になったことでしょう。
ここで
hg glog
とすると、コミットの履歴が表示されます。
これで、コミットは完了です。
続きは別の記事で
Mercurialの設定と使い方をなぞることに成功しました。
次は、Haskellの御勉強をしていきます。
参考にしたページ
[ui] username について
設定ファイル記述
コミット、マージのイメージ
Mercurial 勉強中 (5) - conflict と multiple heads, merge - daily dayflower
vimdiff について
mercurialのマージ作業をvimで - logiqboard
[pager] について
MercurialのPager Extensionを設定して快適にコミットログを追いかける - 日々是鍛錬
Mercurial + less に色を付ける - PYTHONIC BOOM BOOM HEAD
[web] について
http://blog.rino-server.jp/?p=2382
https://www.verisign.co.jp/basic/glossary/ca_certificate.html
.hgignore について
Mercurial 勉強中 (3) - .hgignore で無視リスト - daily dayflower