スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SD(Simple Defects)でGoogleCodeのチケット情報を読み込み

1.K-9 Mailのチケット情報を落とす

$ mkdir k9mail
$ export SD_REPO=~/k9mail
$ sd clone --from "gcode:k9mail"
gcode:k9mail: Finding matching tickets
gcode:k9mail: Searching for tickets.
This can take a very long time on initial sync or if you haven't synced in a long time.
n/a n/a n/a################### 100.0% 0:00########## 100.0% Est: 0:00
Done.

ヘルプの例どおりのコマンドで成功

2.ブラウザで確認

$ sd browser

k9mail

3.バージョンガントチャートのチケット情報を落とす

$ mkdir vgc
$ export SD_REPO=~/vgc
$ sd clone --from "gcode:version-gantt-chart"
Can't call method "find_by_tag_name" on an undefined value
at ~/sd/bin/../lib/perl5/Net/Google/Code.pm line 108.

失敗…。
Google/Code.pmでfind_by_tag_namメソッドの呼び出しに失敗しているらしい。

4.Code.pmの修正

Code.pmをみてみると
 97: $tree = $self->html_tree( html => $tree ) unless blessed $tree;
108: my @members_tags =
109: $tree->look_down( id => 'members' )->find_by_tag_name('a');

なので、htmlからid属性が'members'のタグを探して、その子要素のタグを集めてるらしい。

k9mailとversion-gantt-chartのhtmlを比べると確かに、
k9mailにはがあるけど、version-gantt-chartにはなかった。
version-gantt-chartにはOwnersはいるけどCommittersがいないのが原因っぽい。

OwnerとCommittersの両方に登録できないみたいなので、GoogleCode側での対応をあきらめて、
Code.pmを修正した。
108: my $id_members_tag = $tree->look_down( id => 'members' );
109: my @members_tags;
110: $self->members_tags = $id_members_tag->find_by_tag_name('a') if $id_members_tag;

id属性がmemberのタグが見つからなかった場合は、配列を空にするように書き換えた。

5.もう一度バージョンガントチャートのチケット情報を落とす

$ bin/sd clone --from "gcode:version-gantt-chart"
gcode:version-gantt-chart: Finding matching tickets
gcode:version-gantt-chart: Searching for tickets. This can take a very long time on initial sync or if you haven't synced in a long time.
n/a n/a n/a################### 100.0% 0:00########## 100.0% Est: 0:00
Done.

成功。ブラウザでチケットを確認できた。
version gantt
日本語の入ったチケットもOK
スポンサーサイト

Ubuntu9.04にSD(Simple Defects)をインストールしてみた

分散型BTS「SD (Simple Defects)」を試した」を参考にUbuntu9.04にSDをインストールしてみた

SD起動画面

1.インストールスクリプトのダウンロード

$ cd
$ mkdir sd
$ cd sd
$ wget http://fsck.com/sd

~/sdの中にインストールスクリプト'sd'が保存される

2.インストールスクリプトの実行

$ cd sd
$ perl sd
Building cpan-Scalar-List-Utils
Building cpan-String-BufferStack
... 長いので省略 ...
Building cpan-DBD-SQLite
Building cpan-Crypt-SSLeay
build cpan-Crypt-SSLeay configure part failed.
at bin/shipwright-builder line 549
main::_install('cpan-Crypt-SSLeay', 'GLOB(0x92ce388)') called at bin/shipwright-builder line 404
main::install() called at bin/shipwright-builder line 267

参考記事によるとlibopenssl-develとlibexpat-develのパッケージを入れる必要があるらしい

3.libopenssl-develとlibexpat-develのインストール

Synapticでlibopenssl-develに対応するlibssl-devパッケージをインストール
libexpat-develに対応するとlibexpat1-devパッケージは既にインストール済みだった

4.再度インストールスクリプトを実行

$ perl sd
Building cpan-Crypt-SSLeay
Building cpan-JSON
... 長いので省略 ...
Building cpan-Net-Redmine
Building cpan-Test-Script-Run
Building sd.git
install finished, the dists are at /home/tenma/sd

sdディレクトリの中に以下のファイルとディレクトリが追加された
Linux_installed.yml __as as bin etc lib man sdex-15850 tools

5.sdの実行

$ bin/sd
It appears that you haven't specified a local replica path.
You can do so by setting the SD_REPO environment variable.

'sd help intro' will tell you a bit about how to get started with sd.
'sd help' will show show you a list of help topics.

参考記事のとおりに環境変数'SD_REPO'を設定するようにとエラーが出る

6.環境変数'SD_REPO'の設定

$ mkdir projects
$ export SD_REPO=~/sd/projects


7.新規にチケットDBを作成

$ bin/sd init
Initialized your new Prophet database.

You need an email address configured to use SD. I'll try to find one.

Couldn't determine an email address to attribute your SD changes to.
What email shall I use? tenma@test.com
Use this for (a)ll your SD databases or (j)ust this one? [J/a]: a
- added email 'tenma@test.com' to
/home/tenma/.sdrc

Want to edit your new bug database's settings now? [Y/n]: y

設定はviが起動して設定ファイルの編集ができる
プロジェクト名称、マイルストーン、チケットの状態などが設定可能

8.ブラウザ実行

$ bin/sd browser

gnomeのブラウザが自動で起動して"http://localhost:8080/"が表示された
GUIはすっきりしていて使いやすそう
日本語もチケット、コメントで入力表示できた。

9. チケットDBのクローンを作成

$ mkdir projects2
$ export SD_REPO=~/sd/projects2
$ bin/sd clone --from file:///home/tenma/sd/projects
############################.. 96.2% 0:00
Done.

96.2%が気になるけど、クローンを作成できた

次回はRedmineの連携と分散DB間の同期方法を調べる予定

テーマ : プログラミング
ジャンル : コンピュータ

プロフィール

tenma

Author:tenma


AI好きのプログラマ
基本伊豆ダイバー(100本達成)
ゲーム実況好きのニコ厨(プレミアム会員)


follow _tenma at http://twitter.com

最新記事
最新コメント
最新トラックバック
カテゴリ
検索フォーム
リンク
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。