▼ 2007年11月の記事一覧
xfce4-terminal での East Asian Ambiguous 問題 / svk の使い方まとめ / svk-diff.vim /
« 2007年10月 | 過去ログ一覧 | 2007年12月 »
xfce4-terminal での East Asian Ambiguous 問題 / svk の使い方まとめ / svk-diff.vim /
この前 新しいマシンを購入 したタイミングで blackbox から xfce4+beryl 構成に移行しました。
ついでにターミナルも mlterm から xfce4 に付いてきたヤツに移行しまして、こいつがまた256色に対応しているし心なしか動きも早いしあと何と言っても256色だしでホクホクしていたわけなんですが、UTF8 環境だと記号とかの文字幅がちゃんと処理出来ないらしくて表示が崩れてしまうわけなんですね。256色だけど。
こんな感じ。
何とかしようと暇を見てはちょこちょこ調べていたのですが、今日になってやっと解決できました。
環境変数 VTE_CJK_WIDTH を指定するだけでした。xfce4 が起動する前じゃないとダメそうなので、.xsession に export VTE_CJK_WIDTH=1 とか追記しました。
結果。
いやー、解決出来ないと思っていたので本当に嬉しい。
きっかけは、libvte にパッチをあてて解決している人がいた ので、libvte9 のソースを眺めてみたら VTE_CJK_WIDTH を発見したという次第です。
あとはマウスホイールさせた時にスクロールしないでシェルの履歴を遡ったりしてしまうのを何とかしたい。
△トップ | コメント (0) | トラックバック(0)
svk:merge が気持ち悪くて svk 使ってなかったけど、パソコン持ち運ぶようになったし、mirror に直接コミットすると svk:merge 付かないっぽいので svk 使う事にしました。
使い方のメモ。
典型的な構成。
file:///PROJECT/ /trunk, /branches, /tags
svk mirror file:///PROJECT //mirror/PROJECT svk sync //mirror/PROJECT
リポジトリがでかい場合は、ヘッドのみ sync したりするのが良い。
svk sync -s HEAD //mirror/PROJECT
mirror をチェックアウトしてそこで作業すると、素の svn と同じように使える。データがローカルにあるので、diff の参照なんかは早い。svk:merge も付かない。幸せ。
チェックアウト
svk co //mirror/PROJECT/trunk PROJECT
コミット
svk commit
更新
svk update -s
branch での作業も trunk とほぼ一緒。マージが入ってくるくらいだけど smerge が全部やってくれるので、svn のようにマージ元のリビジョンがどうのと悩む必要がなさそう。smerge の時に svk:merge が付く。
branch 作成
svk copy //mirror/PROJECT/trunk //mirror/PROJECT/branches/ore
チェックアウト
svk co //mirror/PROJECT/branches/ore
trunk の変更を手元にマージ (smerge to .)
svk smerge -st . svk commit
もしくは
svk smerge -st //mirror/PROJECT/branches/ore
変更を trunk へマージ (smerge from .)
svk smerge -lf .
push とか pull とかも使えるようだけど、branch と trunk 間のマージの場合はコミットを一回にまとめてログも「マージしたよ」なんてしたいから smerge を使う。
オフラインの環境だと mirror に直接コミットは出来ないので、作業用のローカルブランチを作ってそっちにコミットする。
参考: http://blog.bulknews.net/mt/archives/002058.html
trunk 用の作業ディレクトリを作って作業する場合。元々チェックアウトしてある(mirrorの) trunk ディレクトリに移動して以下。
作業コピー作成
svk copy . //local/PROJECT/
作業コピーを変更
svk switch //local/PROJECT/
コミット
svk commit
オンラインになったら push!push!push!!
svk push --verbatim
作業コピーを元に戻す
svk switch //mirror/PROJECT/trunk
△トップ | コメント (0) | トラックバック(0)
svn-diff.vim のように svk commit の時に diff が見れるやつ作ろうと思ったら、svn コマンドを svk に変更しただけで動いた。
svn.vim を ~/.vim/ftplugin/svk.vim にして svn を svk に変更し、.vimrc に svk のファイルタイプの指定を追加するだけ。
au BufNewFile,BufRead svk-commit*.tmp setf svk
↑ は svk commit file の syntax ファイルを追加してみた に書いてあったやつです。syntax は付いてた方が見やすいと思うので、一緒に設定しておくのが良いです。
△トップ | コメント (0) | トラックバック(0)