投稿者 okkez
2009-11-25 12:48:00 GMT
Hikifarm on Rack の対応をしてみました。
- https://svn.sourceforge.jp/svnroot/hiki/hiki/branches/rack
やっと Hikifarm on Rack を実装出来たので rack ブランチにコミットしてみました。
まだ足りない部分はいくつかありますが、余裕のある人は試してみてください。
コードやファイル名についてもコメントをください。
使い方
- misc/hikifarm/hikifarm_conf.rb を Hiki のインストールディレクトリにコピーする
- hikifarm_conf.rb を環境に応じて書き換える
- 必要っぽいディレクトリを作成しておく
- 以下のコマンドを実行する
注意
- Hikifarm, Hiki ともにデフォルトで UTF-8 で動作します
- 古い misc/hikifarm/index.cgi は変更してませんが使えないと思います
主な変更点
- misc/hikifarm/index.cgi から hiki/farm.rb, hiki/farm/{config,dispatcher,manager,page,wiki}.rb に分離
- Hikifarm の内部的にコードを整理した
- Hiki::Config.new に hikiconf.rb のパスを指定できるようにした
- UTF-8 化
TODO (把握してるものだけ)
- Hikifarm の RSS 出力
- 複数の wiki を作成したときの動作確認
- attach の動作確認を行う
- テストを書く
- リファクタリング
カテゴリ Programming, Ruby | タグ Hiki, Ruby | コメントなし | トラックバックなし
投稿者 okkez
2009-08-24 15:41:00 GMT
Hiki の Rack 対応のために Hiki の svn リポジトリに rack ブランチを切りました。
一応、ページの編集はできます。
動作確認してないのは
です。
で、ローカルでの開発には git-svn を使っています。
使ってみた感じでは、いい感じだったのでちょっと手順をメモしておきます。
branches/rack は先に svn cp で作っておきました。
Hiki は svn の 標準的なディレクトリ構成になっているので -s オプションでいけました。
$ git svn clone --prefix svn/ -s https://svn.sourceforge.jp/svnroot/hiki/hiki/ hiki-git
$ git br -a
svn/hitoshi
svn/rack
svn/tags/V0_4_2a
........ (tags/ なブランチが多いので略)
svn/tags/v0_8_8
svn/tags/v0_8_8_1
svn/trunk
svn/v0_5_branch
svn/v0_6
svn/v0_8_8
$ git br
* master
$ git svn info
Path: .
URL: https://svn.sourceforge.jp/svnroot/hiki/hiki/trunk
Repository Root: https://svn.sourceforge.jp/svnroot/hiki
Repository UUID: 684b846f-27f2-41ea-b66a-77a1bafa84c1
Revision: 1006
Node Kind: directory
Schedule: normal
Last Changed Author: fdiary
Last Changed Rev: 1006
Last Changed Date: 2009-08-24 14:53:26 +0900 (月, 24 8月 2009)
最初にできる master ブランチで git svn info を実行してみて URL が trunk じゃなかったら master を作り直した方が
いいと思います。こんな感じです。
$ git co -b master2 remotes/svn/trunk
$ git br -D master
$ git br -m master2 master
$ git svn info
Path: .
URL: https://svn.sourceforge.jp/svnroot/hiki/hiki/trunk
Repository Root: https://svn.sourceforge.jp/svnroot/hiki
Repository UUID: 684b846f-27f2-41ea-b66a-77a1bafa84c1
Revision: 1006
Node Kind: directory
Schedule: normal
Last Changed Author: fdiary
Last Changed Rev: 1006
Last Changed Date: 2009-08-24 14:53:26 +0900 (月, 24 8月 2009)
この状態で master ブランチを編集して git svn dcommit すると svn の trunk に反映されます。
次に svn の rack ブランチをローカルでいじるためのブランチを用意します。
$ git co -b rack remotes/svn/rack
$ git svn info
Path: .
URL: https://svn.sourceforge.jp/svnroot/hiki/hiki/branches/rack
Repository Root: https://svn.sourceforge.jp/svnroot/hiki
Repository UUID: 684b846f-27f2-41ea-b66a-77a1bafa84c1
Revision: 1007
Node Kind: directory
Schedule: normal
Last Changed Author: okkez
Last Changed Rev: 1007
Last Changed Date: 2009-08-25 00:33:07 +0900 (火, 25 8月 2009)
URL が変わっていることに注意してください。
これでこのブランチをいじって git svn dcommit すると svn の rack ブランチに反映されます。
trunk の変更を rack ブランチに取り込む場合は git merge を使うのではなく、 git format-patch と git am を使うと綺麗に出来るようです。
trunk への変更が一つの場合。
$ git co master
$ git format-patch HEAD^
(0001-xxx.patch というファイルが作成される)
$ git co rack
$ git am <さっきのファイル> # 複数ある場合は複数指定可能。ちゃんと順番にパッチをあててくれる。
$ git svn dcommit
複数の変更を取り込む場合は、git format-patch HEAD^ とかやるといいです。
パッチの数が多くなるときは -o オプションで出力先ディレクトリを分けておくと便利かもしれません。
カテゴリ Programming, Ruby | タグ git, Hiki, rack | コメントなし | トラックバックなし