今週はまじやばいぜひゃっほー
出たよー、っていいながら半月程放置しておいた0.33にうちのマシンを更新するついでにNEWSを訳してみました。
2007年2月28日 22:02:43(UTC)
0.33をリリース
このリリースでは内部データ構造が変更されました。マイグレーションは普通にできます。
データベースをアップグレードするのに次のコマンドを実行する必要があります。
$ mtn -d mydb.mtn db migrate
この操作で情報が失われるものはなく、netsyncについては0.33と以前のバージョンの間で通信可能です。
変更点
- "mtn ls unknown"は管理対象外のディレクトリの中まで再帰して表示しないようになりました。
- すでに管理対象外のファイルがワークスペースにある場合はupdateで上書きせずに失敗するようになりました。
- 管理対象外のディレクトリがdropされるようなupdateではワークスペースを壊さずに失敗するようになりました。
こういった管理対象外のファイルは手動で削除する必要があります。
- 文字コードや改行コード変換のフック(get_system_linesep、get_charset_conv、get_linesep_conv)
は削除されました。
同じような機能(おそらくファイルタイプ属性によるもの)は将来のリリースで追加されるでしょう。
- updateで指定したリビジョンと今のワークスペースのリビジョンが違った場合、
新しいブランチに切り替わるようになりました。
- addは--unknownと--recursiveと--no-respect-ignoreの組み合わせを受けつけるようになりました。
- importはディレクトリツリーを正しくインポートできるようになりました。
- SQLite 3.3.12を使うようになりました。
- スキーママイグレータが書き直され、データベースが今使ってるのより新しいmonotoneで作られたものの場合、
正しく検知して知らせるようになりました。
- manページmtn.1は長い間放置されていたので削除されました。
新機能
- "mtn merge_into_workspace"コマンドが追加されました(まだドキュメントがありません)。
このコマンドはリポジトリにコミットする前にマージの査読と修正をワークスペース内で
できるようにします。
ただし、競合解決のためのインターフェースは同じ'merge'コマンドで行ないます。
(つまり、monotoneは指定したマージツールを競合ファイル全部に対して起動するので
あなたは全て修正するなり解決する必要があります。
ワークスペース内での競合修正や解決は今後追加の予定になっています。
- "mtn log"は普通のログの脇にAAでリビジョングラフを表示するようになりました。
速度向上
- "mtn annotate file"はさらに速くなりました。
rosterの差分を持つことにより、多くの場所でrosterを再構築するのが避けられるようになりました。
その他
- contrib/monotone-mirror.shと
contrib/monotone-mirror-postaction-update.shの2つのスクリプトは
複数のディレクトリをミラーリングし、自動的にupdateしてくれます。
- contrib/monotone-run-script-post-netsync.luaは
新しいリビジョンがcertがあった場合にディレクトリを自動的にupdateしてくれます。
- contrib/monotone.bash_completionがいくらか改良されました。
- contrib/monotone.elもいくらか改良されました
内部的なもの
- 内部的に"projects"の概念が導入されました。
今のところは何にもありませんが、後にポリシーブランチなんかのように使われる予定です。
こっちはUPGRADEの一部。0.32からのアップグレード方法のみです。
- 0.32以前: データベースのフォーマットが変わりました
以下のコマンドを(バックアップを取った後で)各データベースに対して実行してください:
$ mtn -d mydb.mtn db migrate