[Hiki-dev:00953] バージョン管理バックエンドについて

Back to archive index

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*****



Hiki-dev メーリングリストの案内
Back to archive index