サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
会話術
wonderful-panda.hatenadiary.org
最近は、Pythonのテストフレームワークっていうとnoseがいいとか、py.testがいいとか色々聞きますが、Bazaarのテストライブラリはunittest + testtoolsベースなので、プラグインとかを作ろうと思うとその辺を使うことになります。 ある程度は我慢するとしても、parameterized testも書けない*1のはさすがに厳しいので、それっぽく書けるようにならないか試してみました。 で、書いてみたのがこれ。 parameterized.py 使い方はこんな感じ。 D:\TEMP\test>python test.py -v test_add1_A (__main__.TestSample) ... ok test_add1_B (__main__.TestSample) ... ok test_add1_C (__main__.TestSample) ... FAI
Bazaarで、リビジョンを指定してコマンドを実行するというのはごく日常的な操作なわけですが、その指定方法にもいろいろなパターンがあります。今日はその辺をざっくりまとめたいと思います。 基本のはなし コマンドによって、リビジョンを1つだけ指定できるものと、2つ指定(範囲指定)できるものがあります。(リビジョンを指定できないものもありますが、それは今回は置いときます) リビジョンを2つ指定するときは、以下のように「..」でつなげて指定します。 # rev1001と1002を比較(rev1002で変更された内容を表示) $ bzr diff -r 1001..1002リビジョンを指定する際に、さまざまなセレクタを使用することができます。たとえば、「今日最初にコミットしたリビジョン」を指定したければ、"date:"というセレクタを使って以下のように指定します。# 今日最初のコミット以後に作業ツリ
まじめな説明 Bazaarのブランチの履歴には、メインラインという概念があります。 絵で見たほうが早いですね。これが、trunkのメインラインです。 でもって、こっちが完全な履歴。 つまり、他所のブランチで発生した細かな履歴を隠して、「そのブランチで真に注目すべき履歴の流れ」だけを取り出したのが、そのブランチの「メインライン」な訳です。 しゃらくさい説明 trunkブランチ*1は、そのプロジェクトの「正史」であり、そのメインラインは「年表」です。 そこでは、個々人の暮らしがどうだったかというような細かい情報は見えません。 逆に、trunk以外のフィーチャブランチなんかは、個々人にフォーカスしたものだと考えることができます。「オレ」ブランチでは「子供ができた」とか「転職した」がメインラインの履歴で、「総理が代わった」とか「Jobsが成仏」とか「談志が死んだ」とかはメインではない履歴ってかんじ
まあVSSもそんなに悪いツールではないです。少なくとも90年代当時としては。悪いのは未だにVSSから離れようとしない連中の方ですよもう勘弁してください。 うちの会社はプロジェクトごとにバージョン管理の仕方はばらばらなんですが、他所のプロジェクトの手伝いに行ったりすると、ごくたまにVSSを使わなければならないことになったりします。そういう時に、クライアントにBazaarを使って少しは楽をしようとしたときのメモです。 前提 VSSにも一応マルチチェックアウトの機能はありますが、それが有効になっていることはまず無いです。あえてVSSを使おうという人たちはたいてい「同じファイルを同時に触るのは危険」だと思い込んでるので。 作業フロー VSSワークスペースの構築 VSSのデータベースから、「最新のバージョンを取得」でソース一式を作業ディレクトリにダウンロードします。 その作業ディレクトリを、そのまま
前にShibuya.TracとかOSCでBazaarについて話したときには、 Bazaarだったら、SVNみたいに集中型で運用しながら、必要に応じてローカルでコミットすることもできるよ みたいなことを言ったんですが、最近はちょっと、ローカルコミットってのは挙動にクセがあるから混乱の元だし、使わない方が良さそうだという結論に(僕の中では)なってます。ローカルでコミットしたい場合はちゃんとブランチ切ろうねってことで。 ということで、お詫びもかねて、ローカルコミットを使うとどうなるかというのをちょっとご紹介します。 Pending Merge まず、前提となる用語について。 Bazaarの作業コピーには、"Pending Merge"という状態があります。これは、ここの「ステップ2:分散型の導入」のあたりにある、「mergeを実行したけれど、まだcommitはしていないよ」という状態のことですね
このページを最初にブックマークしてみませんか?
『wonderful_pandaの日記』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く