トップ «前の日記(2006-06-30 (金)) 最新 次の日記(2006-07-02 (日))» 編集

manholeのおきらくごくらく日記

SPAM対策中です。コメントが反映されない方はリンク先をご覧ください。
[ Maven2 | Maven | Axis2 | testing ]
オススメ: xUnit Test Patterns | JUnit Recipes | パターン指向リファクタリング入門 | Ant第2版


2006-07-01 (土) [長年日記]

やっと読めた

Eclipse 3.2

入れてみる。

...

入れてみた。若干見栄えが変わったような。

Tigerアノテーションのフォーマットは変わらずか〜

ひと休み

「〜大天使」って映画になるの?

それからこれも。
http://shopping2.vcube.net/cgi-bin/Suser/detail.cgi?id=2758&type=book&searchURL=search.cgi%3Fmode%3Dtop
これだけ単行本未収録があれば、普通に5巻出せるんじゃないのかなぁ。

これは見つからなかった...

[Linux] Linux再設定中...

Canonのプリンタドライバを入れようとしたら、libpng.so.2が無いとダメ出しされる。
libpng.so.3は入っているようだ。とりあえず ln -s libpng.so.3 libpng.so.2 でごまかそうとしたが変わらず。
ちょっと古めのバージョンlibpng-1.0.20.tar.bz2を落としてきてビルドしてみたが、libpng.so.3の方ができてしまった。そっちじゃないよ。むむむ。

ドライバのリリースは2004年か...今更新バージョンが出るとも考えづらいし。
素直にWindowsで使っておくべきか〜?

追記(2006/07/02)

libpng10を入れれば良かったようだ。

# apt-get install libpng10

これで/usr/lib/libpng.so.2 (/usr/lib/libpng.so.2.1.0.18へのシンボリックリンク)が入った。

[svn][ruby] コミットメールを送る

ここを参考に設定。
http://yamashita.dyndns.org/blog/247

コミット時にメールを飛ばすようにするには、

  • ${repo}/hooks/post-commitスクリプトを作成し、(コミット直後にSubversionにより実行される)
  • post-commitスクリプトからcommit-email.rbを呼ぶ。
  • 実際のメール送信処理はcommit-email.rbで行う。
  • スクリプトには実行権限を付けておく。

post-commit

#!/bin/sh

REPOS="$1"
REV="$2"

env LANG=ja_JP.eucJP ${REPOS}/hooks/commit-email.rb "$REPOS" "$REV"

commit-email.rb

#!/usr/bin/ruby -Ke
require 'net/smtp'
require 'kconv'

REPOS=ARGV[0]
REV=ARGV[1].to_i

svnauthor=%x{svnlook author #{REPOS} -r #{REV}}.chomp
svndate=%x{svnlook date #{REPOS} -r #{REV}}.chomp
svnchanged=%x{svnlook changed #{REPOS} -r #{REV}}.chomp
svnlog=%x{svnlook log #{REPOS} -r #{REV}}.chomp
svndiff=%x{svnlook diff #{REPOS} -r #{REV}}.chomp

toaddr=['manhole@xxxxx']

body = <<END_OF_BODY
Subversion committed to #{REPOS} #{REV}
┌────────────────────────────┐
│更新者  : #{svnauthor.ljust(46)}│
│更新日時: #{svndate.ljust(46)}│
└────────────────────────────┘

Log:
--------------------------------------------------------
#{svnlog}

Changed:                      [U:修正,A:追加,D:削除]
--------------------------------------------------------
#{svnchanged}

Diff:
--------------------------------------------------------
#{svndiff}

END_OF_BODY

message = <<END_OF_MESSAGE
From: Subversion Admin <manhole@xxxxx>
To: Subversion committers:;
Subject: [pj-#{REV}] commit
MIME-Version: 1.0
Content-Type: text/plain; charset = ISO-2022-JP
X-Mailer: Subversion email-send.rb

#{body.tojis}
END_OF_MESSAGE

Net::SMTP.start('localhost', 25) { |smtp|
    smtp.send_mail(message, 'manhole@xxxxx', *toaddr)
}

[svn] コミットログを変更できるようにする

Subversionのデフォルト設定では、コミットログメッセージを変更できない。
これは、ログのようなリビジョン属性はバージョン管理されていないためのようだ。
http://subversion.bluegate.org/doc/ch05s02.html

ログメッセージを変更可能にするには、

  • ${repo}/hooks/pre-revprop-changeを置く
    • pre-revprop-change.tmplをリネームするだけ

だけでOK。

[svn][ruby] コミットログ変更時にメールを送る

コミットメール送信と同じノリです。

  • ${repo}/hooks/post-revprop-changeスクリプトを作成し、
  • post-revprop-changeからrevprop-change-email.rbを呼ぶ。
  • 実際のメール送信処理はrevprop-change-email.rbで行う。
  • スクリプトには実行権限を付けておく。

post-revprop-change

#!/bin/sh

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"
ACTION="$5"

env LANG=ja_JP.eucJP ${REPOS}/hooks/revprop-change-email.rb "$REPOS" "$REV" "$USER" "$PROPNAME" "$ACTION"

revprop-change-email.rb

#!/usr/bin/ruby -Ke
require 'net/smtp'
require 'kconv'
require 'uconv'

REPOS=ARGV[0]
REV=ARGV[1].to_i
USER=ARGV[2]
PROPNAME=ARGV[3]
ACTION=ARGV[4]
OLDVALUE=Uconv.u8toeuc(STDIN.read).chomp
NEWVALUE=""

if "svn:log" == PROPNAME
    NEWVALUE = %x{svnlook log #{REPOS} -r #{REV}}.chomp
end

toaddr=['manhole@xxxxx']

body = <<END_OF_BODY
Subversion revprop changed to #{REPOS} #{REV}

USER=#{USER}
PROPNAME=#{PROPNAME}
ACTION=#{ACTION}

old value:
--------------------------------------------------------
#{OLDVALUE}

new value:
--------------------------------------------------------
#{NEWVALUE}

END_OF_BODY

message = <<END_OF_MESSAGE
From: Subversion Admin <manhole@xxxxx>
To: Subversion committers:;
Subject: [pj-#{REV}] revprop
MIME-Version: 1.0
Content-Type: text/plain; charset = ISO-2022-JP
X-Mailer: Subversion email-send.rb

#{body.tojis}
END_OF_MESSAGE

Net::SMTP.start('localhost', 25) { |smtp|
    smtp.send_mail(message, 'manhole@xxxxx', *toaddr)
}

KconvとUconv両方使ってるあたりがイマイチな感じだ。。。


トップ «前の日記(2006-06-30 (金)) 最新 次の日記(2006-07-02 (日))» 編集
1999|01|02|
2004|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|07|
今日: , 昨日: , 合計: