[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
##
您可能也會有興趣的類似文章
- 初試TortoiseSVN的收穫 (4則留言, 2005/09/16)
- [Subversion] 尋找Subversion Client工具 (0則留言, 2005/09/01)
- 我的Subversion與Trac使用經驗 (4則留言, 2008/01/12)
- CVS轉Subversion (0則留言, 2005/12/21)
- [SVN] Hook scripts的使用方法 (0則留言, 2005/12/09)
- 試用TortoiseSVN 1.4 RC1–更新 (2則留言, 2006/09/06)
- [SVN] JavaSVN改名並推出新版本 (0則留言, 2006/11/16)
- 使用SmartGit整合Subversion中央版本庫與Git本地端操作 (0則留言, 2017/05/05)
- 使用svn://連檔案庫:svnserve.exe (2則留言, 2006/09/10)
- TortoiseSVN的命令行操作 (0則留言, 2015/04/03)
- TortoiseSVN: 解決TSVNCache佔用CPU過高的設定 (0則留言, 2007/08/21)
- 升級Subversion 1.7 (0則留言, 2012/11/06)
- Subversion的搬移(Move)操作 (5則留言, 2009/09/05)
- 用JumpBox輕鬆安裝Subversion+Trac雙系統 (0則留言, 2007/07/25)
- 升級Subversion client版本與VisualSVN Server (8則留言, 2008/11/22)
這則留言是悄悄話。