※ 引述《jokingfish (ㄚ魚!!)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: VC++ TortoiseSVN 1.7
: 問題(Question):
: 因為多人寫CODE的版控問題,希望能夠"自動"的將SVN的版本號碼,讓EXE能讀到,
: 以便確定目前EXE檔的版本號碼....
: (工作室內的版本比較沒問題,打開右鍵就可以看SVN版號,可是Release的時候,
: 常常有人漏更新版號 or 亂寫.....)
: 之前 TortoiseSVN 1.6之前,每個資料夾中都有個.svn資料夾 entries的檔案
: 檔案內容如下
: 10 dir 2461 http://192.168.1.117/SvnRoot/...............
: 可以從這邊抓到版本號碼"2461" EXE執行時就去抓到這組數字顯示出來
: 可是1.7版以後,好像整個架構和這個檔案都改掉了.....
: 來源:http://0rz.tw/sCcsw
: 目前想到的解決方法
: 1. 每次SVN進版就"手動更新",內嵌於EXE檔中的版本號碼
: 2. 將SVN版本降回1.6(可是這樣可能會有其他問題....XD)
: 3. 其他方法(請大家賜教)
.svn 是從原本分散在 working copy 的 root directory 以及 sub directories
變成集中放在 root directory。
優缺點跟你的問題沒有太大相關,就略過不表。
不過我的方法並沒有因為這樣的變動就行不通。
用 TortoiseSVN 附的工具 SubWCRev 取得 working copy 當下的 revision 資訊,
並把 revision 資訊塞進一個暫存檔或 .h 檔裡。
用 grep 跟 sed 把多餘的文字去除,以及把 revision no. 變成 #define 巨集
或 const 變數。
把這些動作寫在 .bat 或 .sh 裡,在每次編譯前先完成,就是自動化了。
grep 跟 sed 都有 Windows 上能跑的版本,我用的是 Cygwin 的。
以上供參考。
--
Need Help With Women? Can UNIX Help?
$> man woman
$> Segmentation fault (core dumped)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.90.220
※ 編輯: saxontai 來自: 114.32.90.220 (08/20 16:15)
※ 編輯: saxontai 來自: 114.32.90.220 (08/20 16:46)