SVN與TortoiseSVN實戰:補丁詳解


硬廣:《SVN與TortoiseSVN實戰》系列已經寫了五篇,第二篇《SVN與TortoiseSVN實戰:標簽與分支》和第三篇《SVN與TortoiseSVN實戰:TortoiseSVN新建及合並分支》重點介紹了標簽和分支的概念及實際操作演示,關注人數較多,三、四篇《SVN與TortoiseSVN實戰:沖突詳解(二)》詳解了SVN如何判定沖突及沖突文件說明和解決沖突方法。

本篇詳細SVN中補丁的概念,版本控制之道這本書對於SVN的講解比較全面了,但書中也沒有講解補丁的概念,關於SVN補丁的介紹也寥寥無幾。

其實學習和掌握補丁的用法后,在某些項目環境中還是有用武之地的,主要講以下兩點:

1、SVN補丁的概念;

2、SVN補丁的應用場景;

3、SVN補丁的制作及應用;

感謝博友的建議,在每篇前寫明本篇所要講述的重點 ~。~

1、SVN補丁的概念


SVN補丁其實並不神秘,只是平時工作中接觸較少。

SVN補丁可以理解為一個patch格式的文件,這個patch格式文件可以忠實記錄文件變動,而這個patch文件是根據SVN中文件的修改制作的。

Create patch和Apply patch就是創建和應用補丁,至於Properties為什么在這一組會在屬性篇中講,TortoiseSVN菜單的分組划分是很有設計哲學的,沒事時可以仔細研究下。

2、SVN補丁的應用場景(一)


 第一種場景看下這兩張圖:

圖一的方式可以用之前講的主干/分支來解決,每次修改主線版的內容通過合並的方式將修改合並到定制版中,這種方式需要在每個定制版中合並,人工每次操作非常麻煩,還容易出錯。

圖二是使用補丁的方式,主線版修改后創建補丁,在所有定制版中統一應用一次補丁,其目錄結構如下:

patches下是所有定制版的項目目錄,這樣划分可以在整個patches目錄上應用一次補丁,大大簡化了操作。

2、SVN補丁的應用場景(二)


 還有一種是涉及到權限的應用,將某些項目組的成員配置成只有讀權限,而沒有寫權限。

這些只讀權限的成員不能直接提交修改,而需要將修改制作成補丁,發給具有寫權限的成員,審核通過后應用補丁,提交到SVN中。

這也是基於SVN的一種權限管理,熟悉Git的應該會比較理解。

3、SVN補丁的制作及應用(一)


 最簡單的方法是基於修改的文件直接創建補丁,在將本地文件修改后,在簽入SVN之前(嘆號標記時),選中文件,使用TortoiseSVN的Create patch菜單可以直接將文件的修改創建為patch格式的補丁文件:

3、SVN補丁的制作及應用(二)


 還有一種方式可以基於已簽入的改動來創建補丁,這種方式甚至可以創建降級補丁。

在主干目錄上使用TortoiseSVN的Show Log菜單,用Ctrl選中兩個版本,右鍵使用圖中標記的菜單:

新窗口中使用File Save存為補丁即可。

補丁的應用非常簡單了,就不演示了,選中應用位置使用Apply patch菜單選擇應用的補丁即可。


 記錄,為更好的自己!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM