[svn] 製作補丁的經驗

在Windows和Mac上製作svn patch的一些經驗,記下來省出大家的精力。


1. 製作補丁的首選工具:TortoiseSVN。

它最大的優點就是尊重代碼文件裏的換行符(EOL,End-Of-Line)。它做出的補丁既可用於Windows,也可用於Mac。

習慣上,我製作補丁時要勾選下面的選項,這樣做出的補丁小(因爲可以忽略代碼中許多無關的改變):



2. 在Mac上製作補丁稍複雜一些,因爲我只用命令行。以後有時間我要製作一個Python GUI的腳本,讓Mac上打補丁更方便。

我使用的打補丁命令爲:svn diff . -x --ignore-eol-style > mylib.patch

我發現,從Mac OS X 10.10 (Yosemite)開始,svn diff終於能夠和TortoiseSVN一樣,尊重源文件的EOL了。所以在Mac上做補丁也方便了不少。原來我都是做完補丁之後,手工修復diff文件的EOL的,既麻煩又容易出錯。


3. 擴充補丁。

升級庫以後,補丁也需要重新制作。此時,一般都是整個補丁都重新做一遍。

但是還有一種情況,就是擴充補丁。即,只是往原補丁裏添加新的diff。這樣,其實無需重新做整個補丁。只要做一個只包含新diff的補丁,然後添加到原補丁裏就行了。

用DOS命令即可:copy /b mylib.patch + new_diff.patch mylib.patch

其實可以更簡單:svn diff one_file.cpp >> mylib.patch 這種方式可以用於Windows和Mac。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章