cvs-mailcommitで日本語
Debianのcvs-mailcommitは日本語をそのままスルーする。ので、CVSのコミット操作のコメントの文字コードと、ソースコードの文字コードが違うと文字化けしたメールが届くことになる。
ということで日本語対応。
# apt-get install libjcode-perl
jcode.pmじゃないのは何となく。あとはcvs-mailcommitにパッチを当てる。
--- /usr/bin/cvs-mailcommit.orig 2006-10-11 14:04:03.995898455 +0900
+++ /usr/bin/cvs-mailcommit 2006-10-11 14:50:44.794855314 +0900
@@ -1,5 +1,7 @@
#! /usr/bin/perl+require 'jcode.pl';
+
# cvs-mailcommit - Send CVS commitments via mail
# Copyright (c) 1998,2004 Martin Schulze <joey@infodrom.org>
#
@@ -254,7 +256,10 @@
printf M "Approved: %s\n", $opt_approved if ($opt_approved);
printf M "X-Loop: %s\n", $opt_xloop if ($opt_xloop);
print M "\n";
- print M while (<>);
+ while (<>) {
+ &jcode::convert(\$_, 'jis');
+ print M;
+ }if ($opt_diff) {
print M "\n";
@@ -267,6 +272,7 @@
$lines = 0;
while (<R>) {
$lines++;
+ &jcode::convert(\$_, 'jis');
print M if ($lines <= $opt_maxlines);
}
close (R);
って感じで。