カテゴリー別アーカイブ: Subversion

svnXで文字コードを自動判別してFileMergeのdiffを表示する


MacでGUI Subversionクライアントはキラーアプリが存在しないのですが、diffをGUIでうまく表示できないかと色々漁っているときに以下のサイトを発見しました。
b-shock. Fortress: svnX
http://blog.b-shock.co.jp/pooza/2006/09/svnx.html
svnXはあまり使っていないのですが、中々よさげ。
それでFileMergeで文字コード判別にnkfを使うパッチがあったので、やってみたのですが、現状svnXのバージョンが0.9.9になっているためうまく動作せずorz
なので上記サイトのパッチをわずかながら更新してみました。
ちなみにnkfはデフォルトでは入っていないのでMacPortsでインストールしています。
パッチは以下。
# -- 2007/5/30 iwata --
/opt/local/bin/nkf -sLu "$firstFile" > "/tmp/svnx-opendiff_$$.tmp.nkf"
/opt/local/bin/nkf -sLu "$secondFile" > "/tmp/svnx-opendiff2_$$.tmp.nkf"
firstFile="/tmp/svnx-opendiff_$$.tmp.nkf"
secondFile="/tmp/svnx-opendiff2_$$.tmp.nkf"
# ----------

52行目あたりにパッチを当てればOKです。
あとはsvn-viewdiffが動いてくれればいいのですが。。。

Powered by ScribeFire.

Ruby で作られた Subversion ラッパ

SCというRubyで書かれたSubversionのラッパを見つけました。

Subversion Automation with SC
http://pmade.com/open-source-software/sc/

インストールはRuby Gemsで一発インストール可能です。

 > gem install svnauto --include-dependencies 

これは何が嬉しいかというと、Release BranchやBug Branchなんかを分かり易い命名規則に基づいて簡単に作れると言うことなんです。

まずは以下のようにsvnリポジトリに対してscを設定してあげます。

 > svn co http://localhost/svn/project/trunk sc-trunk
 > sc config --add
 > sc create new-project

例えばver. 1.0.0のRelease Branchを切る場合は以下のように実行します。

> sc release 1.0.0

こうするとBranchとTagができます。
またBug Fixの場合は

 > sc bug 25
 > # バグを修正してsvnにcommitする
 > sc bug --closed 25

とすることで簡単にTagを作ってくれます。
直感的で分かり易いコマンドで、規則に沿った名前のBranch、Tagを作れるというのでありがたいです。
まだ詳しく見ていませんが、Mergeも簡単に行えるようです。

del.icio.us tags: , ,
Technorati tags: , ,


							

Eclipseの新しいSubversionクライアント

最近、Subversionを1.4にバージョンアップしました。
その後、Eclipseを立ち上げて、SubclipseでSubversionにアクセスしようとしたら、チェックアウトは問題なくできたのに、プロパティをいじろうとしたら、エラーが…。
何かお使いのsvnクライアントが古すぎて操作できないヨみたいなコメントが出てしまいます。

そこでEclipseも3.2にバージョンアップさせてCallisto対応になったんで、新しいsvnクライアントプラグインであるSubversiveを入れてみることにしました。
こちらはSubclipseよりもアクセスが速いらしい。
以下のURLをマネージャに登録することでインストールできます。

http://www.polarion.org/projects/subversive/download/1.1/update-site/

 これで無事にプロパティも設定できるようになりました。

svkでtrunk, tags, branchesを簡単管理する方法

こんな方法出来るの知らなかったです。

今まではtrunkならtrunk、branchならをそれぞれmirrorして使ってたので便利かも。

TracTabPluginをインストール

久しぶりにTrac Hacksに行ってみると、おもしろそうなPluginを見つけました。
TracTabPlugin – Trac Hacks – Plugins Macros etc. – Trac
http://trac-hacks.org/wiki/TracTabPlugin

Tracのメインメニューを任意に追加して、Trac上から任意のサイトを見られるようにするPluginです。
インストールはいつもの手順で、zipファイルをDLして任意のフォルダに解凍。その後、コマンドライン上で、解凍したフォルダに移動した後に以下のコマンドを実行するだけ。

#python setup.py install

あとはtrac.iniを設定するだけ。以下はTrac Hacksに載っていた設定です。

[components]
tractab.*=enabled

[tractab]
names=Google,My Blogurls=http://www.google.com, http://blogs.acceleration.net/russ
perms=WIKI_VIEW, TRAC_ADMIN

permsのところで、メニューに設定したリンクを表示させるユーザ権限を指定できます。
これはありがたい。ある権限以上のユーザだけに見せたい場合は多いので。

設定完了後、Apacheを再起動して Trac にアクセスしてみると…

Google というメニューが増えています。

TracTabMainMenu
いざ http://localhost/trac/tractab/Google などにアクセス!
が、しかしエラーが…。
何か tractab.py 84行目の idx 変数が定義されてないヨ!みたいなエラーが。
色々とこのファイルに目を通した上、84行目に以下のような for ループを追加すれば…と思い修正。

for idx in range(len(self.names)):

Python 全く分からんけど、何となくやってみる。
んでもって、もう一度 TracTab をインストールし直して、再びアクセス!
すると見事以下のような表示になりました。

Google in Trac Tab