« 2007年10月 | 過去ログ一覧 | 2007年12月 »

2007-11-01 (Thu)

xfce4-terminal での East Asian Ambiguous 問題

この前 新しいマシンを購入 したタイミングで 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)

2007-11-06 (Tue)

svk の使い方まとめ

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

* trunk での作業

mirror をチェックアウトしてそこで作業すると、素の svn と同じように使える。データがローカルにあるので、diff の参照なんかは早い。svk:merge も付かない。幸せ。

チェックアウト

svk co //mirror/PROJECT/trunk PROJECT

コミット

svk commit

更新

svk update -s

* branch を作って作業

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)

2007-11-07 (Wed)

svk-diff.vim

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)

 
Copyright (C) Kyosuke Takayama, Some rights reserved.