本文を読み飛ばす

お家で使うVCSを選ぶ (mercurialにしました)

subversionは職場で使ってるんですが, 特にofflineでcommitしたくて分散にしようかと.

  • PCが複数台
  • offlineの場合が多い
  • ソースいじるのは私だけ
  • repositoryのversionころころ変わって追従できない
項目 git bazaar mercurial
speed 軽快 重い...(ぎりぎり hpcmipsでも動く
command 覚えにくい... 重くて試してない まぁわかる
keyword 無理? 重くて試してない changesetで代用

こんな結果でmercurial決定.

しばらく使っていこう...
ここで考えたのがいままで
管理してたソースや運用方法の継承です.

管理の継承

これは簡単です.

$ easy_install hgsubversion
$ hg clone file:///home/hoge/SVN/somesource

hgsubversionにも書いてますけど,
trunkとかは指定しない.

keyword

キーワード置換って分散SCMでは
気にされてないみたいです.

でもファイル内に書いてある方がわかりやすい
, と思っているのでやってみます::

$ vi ~/.hgrc
---- begin of file ----
[ui]
username = hoge

[extensions]
keyword =

[keyword]
**.py =
x*.pyc =

[keywordmaps]
Author = {author|user}
Date: = {date|utcdate}
Date = {date|utcdate}
Id = {file|basename} {rev}:{node|short} {date|utcdate} {author|user}
Rev = {rev}:{node|short}
---- end of file ----

$ hg kwdemo
...

ここでググってもあんまり出てこなかったのは
{rev}とDate:というところ.

  • revはnode|shortのハッシュ値ではよくわからない ので changeset を出力します :D
  • Date:はsubversionで $Date:$ としている場合に有効

自分が気にしたのは後は.hgignoreぐらいかなー
syntax: globとregexが
両方使えるっていうのが珍しいかと.

globってsudoersのmanにも書いてるんで
用語としては有名なんですかね.

今日はこのぐらいで.

コメント

Comments powered by Disqus
宣伝: