ページ更新: 2010-10-25 (月) (2462日前)

関連: ソフト/Subversion/クライアント, eclipse/plugin/ソースコード管理システム

(2006-10-24 新規作成)

このページでは、Subversion の bugtraq:* プロパティの使い方を示す。(Subversionクライアントの一部が、この属性に対応している)

なお、このプロパティは Subversionクライアントで使われる。

概要

  • ディレクトリにて bugtraq:* プロパティにTracのURLなどを設定すると、TortoiseSVN, Subclipse, Subversive でコミットのログメッセージを表示したとき、Tracの該当チケット番号にリンクされる (大抵は、チケット番号をクリックするとWebブラウザが該当チケットを表示する、という動作を行う)
  • この設定は TortoiseSVN, Subclipse, Subversive で使える。
  • この設定は、Tracに限らず、他のBTS/ITSでも使える。
  • チケット番号を入力しなかったときに、警告を表示できる。(警告なので、無視して作業を続行できる)
    • 禁止するには、リポジトリの方のpre-commit-hookで行う(このページの話題とは異なるので、手順は略す)
    • Tracの該当チケットにコメントを投入するには、post-commit-hookを使う(このページの話題とは異なるので、手順は略す)

目次

[編集]

情報源 #

  • tortoisesvn.tigris.org
    • → Features of TortoiseSVN/Subversion → Integration with issue tracking systems
    • 以下引用
      Integration with issue tracking systems
      
      TortoiseSVN provides a flexible mechanism to integrate any web based bug tracking system.
      
      * A separate input box to enter the issue number assigned to the commit, or coloring of 
        the issue number directly in the log message itself
      * When showing all log messages, an extra column is added with the issue number. You can 
        immediately see to which issue the commit belongs to.
      * Issue numbers are converted into links which open the webbrowser directly on the 
        corresponding issue
      * Optional warning if a commit isn't assigned to an issue number
[編集]

使用手順 #

(作成中)

[編集]

SVNプロパティを設定 #

(作成中) プロパティを設定する手順はこの文書では省略してもよいかも。

TortoiseSVN 1.4.0 Build 7501を使用した。

他のSubversionクライアントであっても、プロパティを設定できるものであれば可能だと思われる。

ファイルの「プロパティ」

tortoisesvn-bugtraq-01.png

「属性...」ボタンを押して、

tortoisesvn-bugtraq-02.png

「追加(A)...」ボタンを押して、属性を選択して

tortoisesvn-bugtraq-03.png

属性値を入力する

tortoisesvn-bugtraq-04.png

bugtraq:url, bugtraq:label, bugtraq:message, bugtraq:warnifnoissue を追加

tortoisesvn-bugtraq-05.png

bugtraq:url            http://discypus.jp/trac/sandbox/ticket/%BUGID%
bugtraq:label          Ticket ID
bugtraq:message        (#%BUGID%)
bugtraq:warnifnoissue  true

なお、TortoiseSVN 1.3.5 build 6804 では少々画面が異なる:

tortoisesvn-bugtraq-03-1.3.5-6804.png

[編集]

TortoiseSVN 1.4.0 でログを表示, コミット #

(作成中)

コミットする:

tortoisesvn-bugtraq-06.png

tortoisesvn-bugtraq-07.png

[編集]

Subclipse 1.1.7でログを表示, コミット #

(作成中)

Eclipse 3.2 + Subclipse 1.1.7。

(1)「ヒストリー」ビューのコミットログの「#2」のところがリンクになっている。
(2) #2をクリックすると、Eclipseの中でWebブラウザが開き、該当のチケットが表示される。 なお、「ウィンドウ(W)」→「設定(P)...」で設定ウィンドウを開き、 「一般」→「Webブラウザー」で「外部Webブラウザーを使用(x)」にチェックを付ければ、 他のWebブラウザーで表示される。

subclipse-history-01.png

[編集]

bugtraq:logregex を使う場合 #

この方式のメリットは

  • コミットログの本文からチケット番号を探してくれる
  • 正規表現で指定できるので、チケットが番号以外のキーを持っていても対応できる(ハッシュとか。そのようなバグ管理ソフトは知りませんが)
  • trac-post-commit-hook で refs (チケットへのコメント追加), fix/closed (チケットにコメントを追加した後、チケットを閉じる) を 混在させたときにも対処できる (2008-03-01)

bugtraq:logregexプロパティを追加。コミットログの「ticket:XXX」と「#XX」形式の2つをリンクにした。 TracLinks と同じ書式を使いたかったので。

ticket:(\d+)|#(\d+)
(\d+)

このプロパティを設定すると、自動的にbugtraq:message は無視されるとのこと。

tortoisesvn-bugtraq-08.png

コミットログに「bugtraq:logrexgxを追加 (#2)」と書き、番号欄(bugtraq:label)には何も入力せずにコミットする。

Eclipse 側でupdateすると……ちゃんとログ中の#2がリンクになった!

subclipse-history-02.png

(2006-10-28): logregxを使ったとき、コミットログ入力時にチケットログを入力するとその手前の文字が数文字文字化けするのが難点 (TortoiseSVN 1.4.0, Build 7501 - 32 Bit, 2006/09/15)

tortoisesvn-bugtraq-10.png

(2009-09-07): TortoiseSVN 1.6.5 では、文字化けしなかった。

(TODO: ここにスクリーンショットを貼ること)

ChangeLog.txtのここらへんかな?

Version 1.6.3
- BUG: bugtraq: texts in the commit dialog were colored/linked wrong
       if the second regex matched not at the end of the first regex. (Stefan)

Version 1.6.1
- BUG: The bugtraq:label text was shown garbled in the commit dialog if it
       contained non-ASCII chars. (Stefan)

Flyspray::TortoiseSVN: Tasklist (FlysprayってBTS) で「bugtraq」を検索してみたが、情報(修正した、動作を変更した、など)は見あたらなかった。

logregexを使ったときも bugtraq:warnifnoissue は有効。このプロパティを設定しておけば警告が出る。

tortoisesvn-bugtraq-09.png