FrontPage
このページは自作したスクリプトやツールを研究室内で共有するために,
ソースコードの公開およびマニュアルの作成を行います.
svnsyncを1時間ごとに実行するためのツール†
- このツールはsvnsyncをapache software foundationに対して行うとアクセスを止められてしまうので、1時間ごとにsvnsyncを行います。時間やディレクトリ名は適宜変えてください。
- svnリポジトリを作成するディレクトリに移動し、svnリポジトリを初期化
- svnadmin create [ディレクトリ名:test]
- リポジトリの hooks/pre-revprop-change.bat を作成し編集する。
- svnsync init でリポジトリを初期化する。
- scriptフォルダをダウンロードし、batファイルを編集を行う。
- ダウンロード先:
script.zip
- loop.barの編集
- 2行目:繰り返しの回数を決める(例:70→70*2時間=140時間)
- 4行目:scriptフォルダを配置しているディレクトリに変更する
- 6行目:待ち時間を指定する(例:3600秒)
- exe_svnsync.batの編集
- 2行目:svnリポジトリが配置されているドライブに移動する
- 3行目(svnを途中でやめるとロックがかかるので、ロックをはずすための処理):file:///以下を適宜編集する
- 4行目:svnsyncを実行する時間を決め、file:///以下を編集する。
- ※runfor 2500 以上は動きませんので処理を分けてください。
runfor.exe
BTSを用いたデータの取得†
- 準備
- 任意のプロジェクトのBTSサービス(Bugzilla等)にアクセスする.
- 一度Internet Explorerのcookieの削除を行う.
- そして,ログインをするとcookieには純粋なログイン情報が記録されるため,それを用いて接続を行う.
- IEのcookieを抽出する.
- 今回扱うプロジェクトのBTSMainPageの「Search」のボックスにてきとうな値を入力してみると,入力した番号のバグが表示される.これを大きくしながらおおよそ何件目までバグが存在するのか確認しておく.
- フォルダの構成
GetBugData_1.zip
- 新規に作成する場合は,上記を活用するとよいが,設定を一からする必要があるため,既存のフォルダを再利用することを推奨する.
- フォルダ名は,「GetBugData_(プロジェクト名)」とする.
- 「GetBugData_(プロジェクト名)」フォルダの中にある,「GetHTML」フォルダに準備段階で抽出したcookieを移動する.
- (補足)フォルダを再利用した場合は,MoveScriptフォルダのMoveScript.pl内の$Project='プロジェクト名';を書き換えてからMoveScript.plを実行し,生成されたMoveScript.batを
CreateTeratermMacroフォルダ******************************
- ファイルの編集
- 「GetHTML」フォルダの中にある,「GetBugHTML.pl」をテキストエディタで開く.これは,Linuxで扱うシェルファイルを生成する.
- コメントアウトされた「入力」の下にある行を「my $Project = 'プロジェクト名';」とする.
- 同様に「my $URL = '(プロジェクトのBTSのURL)'」とする.これが今回アクセスするURLとなる.
- また,その下部の「my $Min = X;」,「my $Max = Y;」は取得するバグの個数を表し,X=0, Y=2としたときは,1件目から20000件までのバグを取得すると言った意味になる.新規プロジェクトを扱う場合は,準備段階で確認したバグ件数が収まる値を設定しておくとよい.
- main部のfor文の二重ループ内部にある,「print OUTFILE join('',"wget --no-check-certificate --load-cookies=cookies.txt ".$URL."show_bug.cgi?ctype=xml&id=".($j+1)."\n");」の行では,「$URL."show_bug.cgi?ctype=xml&id=".($j+1).」の部分で指定したURLのページの情報をwgetコマンドを用いて取得することを意味している.
途中です!!!!