コンピュータやソフトウェアのあれこれ@道民(&元道民)
mercurial
[SCM][Bitbucket][Mercurial][Eclipse] Mylyn Connector: Bitbucket 0.1.0 リリース
5月 6th
[Mercurial]mqのrebase
2月 4th
Mercurial Queueを使ってる時に元ソース側を更新しつつ、再度パッチを適用する、というのを上手くやるには、"hg qsave"とか"hg push -m"なんかを使う、なんてのも見かける。
- http://mercurial.selenic.com/wiki/MqMergePatches
- http://mercurial.selenic.com/wiki/WorkingWithSubversion
けど、これらが何をするものか知る前に今や非推奨の様子。
$ hg help qsave
hg qsave [-m TEXT] [-l FILE] [-c] [-n NAME] [-e] [-f]
save current queue state (DEPRECATED)
This command is deprecated, use "hg rebase" instead.
"hg rebase"を使えとのこと。サラっと言われたがextensionなので.hgrcで
[extensions] rebase =
などと書いておく。で、WorkingWithSubversion - Mercurialの"With MQ only"の例だと、
$ hg up -C .^ $ hg qpush -a $ hg qsave -c -e $ hg up -C 2 $ hg qpush -am
となってるあたりを、
$ hg up -C .^ $ hg qpush -a $ hg rebase -d 2
としてやれば良いようだ。あと、
$ hg up -C .^
なんてこともサラっとやってるが、これもparentrevspec extentionを使ってる。
気が向いたら詳しく書く。
[Mercurial]mqのパッチを並べかえる
1月 14th
Mercurial Queueのパッチの順序を並べ替えるには、hg qpop -aして.hg/patches/seriesファイルを編集する、みたいな話を聞いたことがあったけど、最近はhg qpush --moveでできるらしい。
# 準備 $ hg init $ hg qinit $ hg qnew patch-1 $ hg qnew patch-2 $ hg qnew patch-3 $ hg qseries patch-1 patch-2 patch-3 $ hg qpop -a popping patch-3 popping patch-2 popping patch-1 patch queue now empty $ hg qseries patch-1 patch-2 patch-3
最初にpatch-2を適用
$ hg qpush --move patch-2 applying patch-2 patch patch-2 is empty now at: patch-2 $ hg qseries patch-2 patch-1 patch-3 $ hg qapplied patch-2
次にpatch-3を適用
$ hg qpush --move patch-3 applying patch-3 patch patch-3 is empty now at: patch-3 $ hg qseries patch-2 patch-3 patch-1 $ hg qapplied patch-2 patch-3
mercurial-server を導入してみた
1月 25th
プライベートなリポジトリに mercurial を使ってみようと思って,
aptitude search mercurial
としたら,mercurial-server なんてのがあったので入れてみた。
sudo aptitude install mercurial-server
git でいう gitosis みたいなものかな?と思う。
インストールしたら,
/etc/mercurial-server/keys
の下に鍵を置いておく。俺の場合は
/etc/mercurial-server/keys/root/riaf.pub
なんていうファイルを置いてみた。
んで,hg ユーザーが作成されているので,hg ユーザーで
/usr/share/mercurial-server/refresh-auth
コマンドを実行。なんか何もメッセージでなかった記憶。
ほいで,ローカルで hg init したリポジトリを導入したサーバーに向けて clone
hg clone . ssh://hg@example.com/repo_name
あっさりと動いた。あとは普通に hgrc とかに default 指定したりして使ってみている。
今のところなんの問題も無い感じ。めでたしめでたし。