游戲上線以后, 不定期的會發(fā)布一些資源的更新, 其中很多是配置表的修改, 修改的內(nèi)容有多有少, 如果少量的修改還可以手動通過svn show log的方式對比兩個版本之間的文件修改的話耕渴,那么一次大劑量的更新, 絕對會讓從事diff工作的同學煩躁到爆炸, 說來也巧了, 我就是那個diff同學.
那么閑言碎語就到此為止,先說一下基本步驟:
1. 使用svn diff 命令列出兩個版本之間修改過的全部文件塌忽,對其中的.xlsx文件(新舊兩個版本)使用svn export 命令導出到本地.
2. 調用BeyondCompare執(zhí)行diff操作
后續(xù)如果需要的話可以打包成zip文件院仿,以便發(fā)給策劃同學核對修改.
so,按照步驟進行說明豌蟋。
步驟1:
找出svn兩個版本之間修改過的文件廊散,可以使用 svn diff 命令,該命令的含義是: 顯示兩個版本或路徑之間的本地修改或差異(Display local changes or differences between two revisions or paths.)梧疲,當然最好是查看詳細的用法描述允睹,可以使用 --help 參數(shù)來顯示一個命令的詳細描述,此處可以輸入 svn diff --help 來顯示關于diff命令的使用方法和所有參數(shù).
顯示出所有修改文件以后幌氮,需要用到另一個命令: svn export, 顧名思義就是導出文件. 形式為:
svn export 版本號 要導出文件的url 本地存儲路徑, 這里只是export命令的一種用法缭受,可以通過查看詳細說明來挑選出最適合你需求的用法.
結合 svn diff 和 svn export? 就可以把兩個版本間修改的內(nèi)容全部導出到本地,為了后續(xù)對比步驟方便操作该互,建議把兩個版本的文件分別放到兩個路徑下米者,可以以版本號為文件夾名稱,此處以 folder_old 和 folder_new 為名慢洋。
步驟2:?
首先, 你要安裝了BeyondCompare軟件塘雳,diff 神器怎么吹都行,
其次, 需要安裝一個對比excel文件的工具(應該是一個file format普筹,這里姑且叫工具吧)败明,在BeyondCompare中打開 Tools -> File Formats, 此時可以看到有兩個 MS Excel Workbooks,這是因為BeyondCompare自帶一個對比excel文件的工具太防,但是它只能對比excel的第一個sheet頁妻顶,使用場景受限,所以才需要再安裝一個新的對比工具蜒车,這個工具可以以文本的方式對比所有的sheet頁, 把這個Workbooks設置到另一個的前面.
BeyondCompare提供了一些命令讳嘱,可以從命令行調用以方便實現(xiàn)自動對比. 可以參考連接?command_line_reference, 里面有詳細的參數(shù)說明和一些示例. 這里使用script file 的方式進行調用,形式為: exe文件路徑? txt文件路徑
需要新建一txt文件酿愧,作為對比時的描述文件沥潭,該文件可以設置對比時的一些格式,比如: 文件顯示方式是交叉(interleaved)還是并排(side-by-side), 顯示全部行(display-all)還是只顯示有改動的行(display-mismatches)嬉挡,或者是帶上下文的方式(display-context)钝鸽,所有這些設置選項在剛才的命令參考鏈接里都有列出汇恤,可以根據(jù)需要選取.
這里采用: 并排顯示文件 顯示全部行 顯示行號 允許單詞換行 保存成html文件 使用內(nèi)置的差異高亮顯示方式, 如果參數(shù)比較多可以使用 & 符號換行, 所以此處txt文件中內(nèi)容應該是:
上面的 %1 %2 %3 是在命令行調用時傳來的參數(shù),在附件中會有全服的批處理文件和txt文件描述拔恰,有興趣的同學可以自行查看因谎。
在步驟1 和 步驟2 執(zhí)行完畢后,此時應該會生成一些列.htm文件颜懊,保存在指定的路徑下(此處使用report文件夾)财岔,打開其中任一個htm文件,其中顯示的對比界面和在BeyondCompare中的界面基本一樣河爹,對比內(nèi)容完全一樣匠璧。
好像不能上傳附件,晚些時候再傳到其他地方吧.
還有一些需要注意的地方:
1 運行?AutoCompare.bat 文件進行自動對比昌抠,雙擊即可運行患朱,運行給其中的rev_new, rev_old 和?svn_url 三個字段賦值. CompareOperation.bat 和?ExportModifiedFiles.bat 是被調用的批處理文件,不能直接雙擊運行.
2 源碼中diff結束后會生成zip壓縮包炊苫,由于我的電腦上裝的壓縮軟件是好壓裁厅,因此使用壓縮命令中exe文件路徑可能會和你的不同, 如果不需要壓縮就直接把相應部分代碼注掉即可侨艾,如果需要可以根據(jù)自己電腦上的壓縮軟件路徑和相關命令進行調用
參考鏈接:
https://www.scootersoftware.com/v4help/index.html?command_line_reference.html
https://www.scootersoftware.com/support.php?zz=kb_multisheetexcel