[#30220] schedule for Ruby 1.8.6 — "Akinori MUSHA" <knu@...>

 ruby-core を読んでいない人もいると思うので、ここでもアナウンス

20 messages 2007/01/30

[ruby-dev:30096] version.h maintenance

From: SASADA Koichi <ko1@...>
Date: 2007-01-06 03:59:40 UTC
List: ruby-dev #30096
 ささだです。

 現在、version.h の日付の更新はわたなべさん等の手作業によって行われてい
ます。これは、Subversion に移行してから自動化できていないのが問題です。

 また、Subversion の場合、

a) version.h の更新のたびに リビジョン番号が上がるのは好ましくないかも
b) 変更があった場合、そのリビジョンでは version.h の日付は以前に
version.h の更新があったときのものになる

という問題があります。

 そこで、これについて議論させてください。いくつか案がありますので、考え
付く限りで出してみたいと思います。


1. version.h をコミッタが変更してからコミットする

 これは、version.h を変更してからコミットするようにコミッタに負担を強い
る方法です。ただ、コミッタの環境でコマンド一発で version.h を更新できる
ようなツールを作るのは難しくないとは思います。

 コミット時、サーバ側で version.h の変更が無ければコミットさせないよう
にフィルタを作ることも可能だそうです。


2. version.h はチェックアウトしてから作る

 日付は ChangeLog の行頭などに $Date$ などを加えておくことで、それを解
析してから version.h を作成するルールを make に加えることが可能です
(YARV では revision をそうやって作っていた)。ただし、Subversion ではな
く、他のツールを使って管理していたりすると、ちょっと変になりそうです。

 tar ボールを作るときには、version.h を作っておいてから、ということにな
ります。


3. version.h から日付情報を消す

 いっそ、日付やめてリビジョン番号だけの表記にするとか(現実的じゃない
か)。開発者の場合はそれだけでもいいかも。


4. 今までどおり後からコミット

 従来どおり、コミットがあってから version.h を更新。1 とあわせ技にする
のはありなのかも。


 3つあげてみたんですが、他にもあると思いますので、何かありましたらご指
摘下さい。

 個人的には、1 がいいんではないかと思っています。すでに自分の環境ではコ
ミット時に version.h を更新してコミットするようにしています。

-- 
// SASADA Koichi at atdot dot net


In This Thread

Prev Next