自動對比兩個svn版本之間excel文件的差異,并導出成html文件

游戲上線以后, 不定期的會發(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ù).

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設置到另一個的前面.

新安裝的workbooks
BeyondCompare自帶的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)容應該是:

對比參數(shù)

上面的 %1 %2 %3 是在命令行調用時傳來的參數(shù),在附件中會有全服的批處理文件和txt文件描述拔恰,有興趣的同學可以自行查看因谎。


在步驟1 和 步驟2 執(zhí)行完畢后,此時應該會生成一些列.htm文件颜懊,保存在指定的路徑下(此處使用report文件夾)财岔,打開其中任一個htm文件,其中顯示的對比界面和在BeyondCompare中的界面基本一樣河爹,對比內(nèi)容完全一樣匠璧。

網(wǎng)頁中顯示的diff內(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

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末执虹,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子唠梨,更是在濱河造成了極大的恐慌袋励,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件当叭,死亡現(xiàn)場離奇詭異茬故,居然都是意外死亡,警方通過查閱死者的電腦和手機蚁鳖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門磺芭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人醉箕,你說我怎么就攤上這事钾腺。” “怎么了讥裤?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵放棒,是天一觀的道長。 經(jīng)常有香客問我己英,道長间螟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮寒亥,結果婚禮上邮府,老公的妹妹穿的比我還像新娘。我一直安慰自己溉奕,他們只是感情好,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布忍啤。 她就那樣靜靜地躺著加勤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪同波。 梳的紋絲不亂的頭發(fā)上鳄梅,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音未檩,去河邊找鬼戴尸。 笑死,一個胖子當著我的面吹牛冤狡,可吹牛的內(nèi)容都是我干的孙蒙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悲雳,長吁一口氣:“原來是場噩夢啊……” “哼挎峦!你這毒婦竟也來了?” 一聲冷哼從身側響起合瓢,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤坦胶,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后晴楔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顿苇,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年税弃,在試婚紗的時候發(fā)現(xiàn)自己被綠了纪岁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡钙皮,死狀恐怖蜂科,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情短条,我是刑警寧澤导匣,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站茸时,受9級特大地震影響贡定,放射性物質發(fā)生泄漏。R本人自食惡果不足惜可都,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一缓待、第九天 我趴在偏房一處隱蔽的房頂上張望蚓耽。 院中可真熱鬧,春花似錦旋炒、人聲如沸步悠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鼎兽。三九已至,卻和暖如春铣除,著一層夾襖步出監(jiān)牢的瞬間谚咬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工尚粘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留择卦,地道東北人。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓郎嫁,卻偏偏與公主長得像秉继,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子行剂,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 命令的使用 1秕噪、檢出 svn cohttp://路徑(目錄或文件的全路徑)[本地目錄全路徑] --username...
    小李龍彪閱讀 4,441評論 0 9
  • iOS 開發(fā) SVN 版本控制器 更多技術交流請加群 iOS技術聯(lián)盟 27512466 SVN是Subversio...
    Sunny_Fight閱讀 8,772評論 7 63
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)厚宰,斷路器腌巾,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • DevOps和敏捷全棧開發(fā) DevOps的介紹2.DevOps的敏捷開發(fā)3.敏捷團隊中DevOps的實踐過程4.D...
    燕京博士閱讀 1,215評論 0 1
  • SVN版本:1.5 及更新版本 名詞說明: WC:Working Copy 你的工作區(qū) Versioned:受控的...
    日風和閱讀 4,279評論 1 23