ushidayの日記

主に「IBMi」のメモに・・・

IBM iにSubversionサーバーを設定 その1

IBM i(以下AS/400)のPHP関係の調べものをしていたら、「AS/400SVNリポジトリを構築して〜」というマニアックで面白そうな話を見かけたので、AS/400 + Subversionでソース管理が行えるようにトライしてみました。

■動作環境
・サーバー:OS/400 V5R4M0
・クライアント:Windows XP SP3
SVNクライアント:TortiesSVN 1.6.3
■前提条件(2009/11/27現在)
・グループPTF: SF99114 - HTTP Group PTF Level 4 以上

■参考サイト
TortoiseSVN(Subversion クライアント for Windows)
svnbook日本語訳のPDF版を作成してみました
古い方ですと、V5R1から使えそうです。

Subversionの入手
  • OS/400用バージョンに合った、Subversionこちらからダウンロードします。ダウンロードの中身は、マニュアルとSAVFです。

SAVF(内容は*PGMなどASのモジュール)で扱いやすいのではありますが...。個人的には、「それだとAS特有の部分が出てしまって、一般的な作業とずれてくる事があるのでは?」と気になりました。むしろPASE環境で、AIXネイティブで動くモジュールの方が良いのか?と思いました。あと、ダウンロードの際には多少の登録が必要です。

Subversionのインストール
  • RSTLIBでライブラリを復元します。任意の名前でいいので「SUBVERSION」としました。

  • ADDLIBLE で「SUBVERSION」を追加します。


マニュアルによると、旧バージョンからの乗り換えの場合は、初期設定の変わりに、「BNDSVNPGM」でリバインドすればいいだけの様です。

  • 「GO SVNSETUP」でインストールメニューへ移動します。

  • <1>の「Configure Subversion」を選択して、以下の様に実行します。
    • ”Run command with these options” =*YES オペミス防止用のYES
    • SVN IFS repository Root” =リポジトリのルートディレクト
    • あとは権限や、デーモンを動かすサブシステムを適宜設定します。



実行後は、以下のようにIFS上に、リポジトリのルートディレクトリが作成されます。

「WRKUSRPRF SVN*」で確認すると、SVNのグループと所有者のユーザが確認出来ます。


”*PUBLIC repository authority,SVN repository owner,SVN repository group”は、それぞれ「SVNPUBLIC,SVNCHOWN,SVNCHGRP」のデータエリアに保管されます。これは<2>で作成するリポジトリの*DEFAULTの値になるようです。



  • <2>の「Create Repository」を選択して、以下の様に実行します!?



「ライブラリーSVNTRUNKが見つかりません。」リポジトリ作成コマンドが見つからない?何ですかそれは?
英語なので自信がないですが、「BNDSVNPGM」をやれば、リバリンドする様な事がマニュアルに書かれているので
「BNDSVNPGM」やってみましたが、またも「ライブラリーSVNTRUNKが見つかりません。」
CHGCMDで、”BNDSVNPGM”を、見てみるとPRODライブラリーが”SVNTRUNK”ではありませんか...。
<1>の「Configure Subversion」の時のジョブログを見ると、”BNDSVNPGM”が動いてないじゃない!おいおい!
ソース見ると、CPF0000で回避しているから、やっている側は気が付かない...。orz

とりあえず”CHGCMD”で実行ライブラリーを”SUBVERSUON”に変更します。


「BNDSVNPGM」を手動で実行 → リポジトリ作成OKでした。



SVNデーモンの起動とチェックアウト、コミットは続きへ...