看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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)