2006年7月22日(土) 01:39:51 PDT
0.28をリリース。選別、新しいテストスイート、あとバグ修正とか機能向上とか。
新機能:
- 新しいコマンド"pluck"で選別ができるようになりました。
これはあるリビジョンでの変更や、ふたつのリビジョン間での変更を選択して、
ワークスペースに適用することができます。
ついでに言うと、この変更は履歴に保存されません。
手でワークスペースを変更したのとほぼ同じような感じになります。
- 新しいオートメートコマンド"automate tags"と"automate branches"を追加しました。
- "diff"は関数(とか)の本体をみつけられるようになりました。GNU diffの"-p"オプションみたいなもんです。
-- "関数全体"を定義する正規表現がフック関数によりファイル毎に選べるようになりました。
デフォルトではLaTeX、Texinfoなんかと多くのプログラミング言語が定義されています。
-- これらの動作はデフォルトで有効です。無効にするには--no-show-encloserを使用してください。
機能強化:
- netsyncが権限エラーで失敗する時には、サーバー側が接続を切る前に多少マシなメッセージを送るようになりました。
- 3つ以上のヘッドがあるブランチをマージする時に、
おなじ事を繰り返すのをなるべく少なくするような順番を自動的に選んで
マージするようになりました。
- ワークスペースが無い時のクラッシュダンプは$CONFDIR/dumpに書きこまれるようになりました。
- パスの検証が速くなりました。
- Inodeprintsの信頼性がいい感じに向上しました。
- ssh機能を使う時にリモートで使われるmtnのバイナリのパスを決定するget_mtn_commandフック関数が追加されました。
- "diff"に"--unified"(デフォルト)と"--context"の短縮形として"-u"と"-c"が追加されました。
バグ修正:
- "revert --missing" はサブディレクトリでも動くようになりました。
- "revert --missing"は特にファイル名指定を行なわなくても動くようになりました。
("mtn revert --missing ."とかやる必要がありません)
- lcaが無いマージで内容の競合が起こると稀にクラッシュするのを修正しました。
(訳注:lcaってなんだろう?)
- netsyncが後処理の間に固まることがあるのを修正しました
- "mtn help"と"mtn --help"が終了コード0で終わるようになりました。
ビルド環境:
- automake 1.9が必要になりました。
- テストスイートを書き直して大分速くなりました。
さらに*nixの挙動に依存することがなくなりました。
- gcc 4.1.[01]の"multiple definition"のエラーを起こすバグ周りの修正をしました。
内部的な話:
- 制限はpath_restrictionsとnode_restrictionsに分けられ、
全般的に綺麗になりました。
行列とかに不満点が。
つか前からあったけど、行列のスタック、自前で管理しないとやっぱりだめだ。
カメラ部分なんかよく書き換えたいのに、ModelView行列に積むと一番最初に積まなきゃならんのよね。
カメラ変えたいなら違うパスで積み直せばいいのにって? そりゃごもっとも。
でも積んだら降ろさなきゃならないじゃん。その降ろすのはいつやんだよ…って、それも別なパスでやればいいのか?
これで6パス。パスっつっても、カメラ積んだり降ろしたりは描画してるわけじゃないが。
なんかこれでいいような気もしてきた。
いいのかなぁ。