Kouhei Yanagita
sugi****@dream*****
2005年 7月 16日 (土) 13:43:28 JST
こんにちは。柳田です。 バージョン管理バックエンドについてです。 なお、主に Hiki をハックされる方向けのアナウンスで、 単に Hiki を設置して使うだけの場合には、特に影響はありません。 今日、バージョン管理バックエンドのクラスを分割しました。 具体的には、これまで、CVS バックエンドであれば ReposCvs クラスを 使っていたのを、ReposCvs と HikifarmReposCvs とに分割しました。 他も同様に、Repos* と HikifarmRepos* に分割しています。 分割した理由ですが、import/imported? の @data_path が、それ以外の場所の @data_path と意味が異なっていたため、これを解決する手段を探っていたところ クラスを分割するのがいいだろうと判断したためです。 1つの Hikifarm が複数の Wiki を持つわけですが、 この Hikifarm 側の操作 (setup, import, imported?) を HikifarmRepos* に移動し、 それぞれの Wiki 側の操作 (commit, delete など) を Repos* に残しました。 update は Hikifarm 側にありますが、 現在、update を使っているスクリプトはありません。 どういう場合に使うべきかがはっきりしないので、将来的に移動するかもしれません。 独自のバックエンドを定義する場合には、 1. "hiki/repos/#{repos_type}.rb" というファイルにスクリプトを書く。 2. "HikifarmRepos#{repos_type.capitalize}" クラスと "Repos#{repos_type.capitalize}" クラスを作り、 それぞれ HikifarmReposBase と ReposBase を継承する。 3. メソッドを適切にオーバーライドする。 という手順になります。 -- Kouhei Yanagita / sugi****@dream*****