[Subversion] 可重覆使用的性質設定批次命令

初試TortoiseSVN的收穫這篇裡提及,可以在Subversion的工作複本(Working copy)資料夾裡,設定與Bug Tracking System整合的性質(Property),

如bugtraq:url、bugtraq:message、bugtraq:number、bugtraq:append等,一般是在工作複本最上層,

以檔案總管→內容→Subversion頁籤裡來設定,並勾選「遞迴」使上層的性質同步存到子目錄裡。但如果每個不同的專案都要依樣重複這個設定一次,那

可就有點累人了,因此今天試著寫一支批次檔,以方便能重覆執行。

首先遇到了用來填入Bug號碼的識別字

%BUGID%,其中的百分號是Windows

shell的環境變數擴展字元,例如%WINDIR%擴展後的是C:Windows,或C:WINNT,為了不讓%BUGID%擴展,因此必須找

到其Escape字元,以抑制其擴展的動作。查了半天,Shell的Escape字元是^符號,在DOS裡執行OK(^%BUGID^%→%BUGID

%),但放在批次檔裡卻又整個變成一個 ^ 符號。最後終於確認在批次檔裡用兩個百分號就可以解決了。

接著,由於bugtraq:message裡使用到中文,被轉換成 ?數字 的格式,即使設定了iconv的變數也無法正常,最後只好放棄而改用英文。

以下是我的範例:

svnprop.bat
set APR_ICONV_PATH=d:svn-win32-1.2.3iconv

svn propset bugtraq:url "http://your.track.com/printItem.do?key=%%BUGID%%" . -R

svn propset bugtraq:append "true" . -R

svn propset bugtraq:number "true" . -R

svn propset bugtraq:message "Issue Number: [%%BUGID%%]" . -R

svn propset bugtraq:warnifnoissue "true" . -R

  • bugtraq:append=true表示Bug號碼插入於紀錄訊息的最末端
  • bugtraq:number=true表示Bug號碼是數值型態
  • bugtraq:message 是Bug號碼的表示字串
  • bugtraq:warnifnoissue=true表示Commit時若未輸入Bug號碼則顯示警告視窗,但確定後仍可Commit

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

1 個回應

  1. PONY表示:

     這則留言是悄悄話。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *