svn提取出指定版本的差異文件,打成增量補丁


以前發補丁每次都用mkdir創建目錄結構,然后復制變更文件的笨辦法,慢還容易出錯。搜查一下有更好的方法轉帖如下

這個是windows下的方法,需要安裝svn客戶端版本,這里安裝的是tortoise svn。操作分為簡單的三步,都是圖形化操作,非常簡單。

1、選擇show log,如下圖:

svn提取出兩個版本的差異文件步驟一

 

2、在彈出的界面中,選擇要提取的版本:

svn提取出兩個版本的差異文件步驟二

 

3、選中需要打包的文件,然后右鍵點擊鼠標,選擇export就能將文件打包出來了。

但是我們要注意的是,如果日志文件中的文件狀態是已刪除(Deleted)的狀態,就意味着這個文件是不存在的,所以不用導出,如果你全選了的話,就會報出文件不存在的錯誤。

svn提取出兩個版本的差異文件步驟三

 

https://blog.csdn.net/weixin_40393909/article/details/88826656

 

7f6a39e1537c57856d7a3a6648b4a9b6.jpg

我們在項目開發中會遇到類似主干分支合並問題,代碼迭代更新問題,過去我們可能手動的創建對應的目錄結構文件夾,然后把變更的文件放在對應的文件夾中,最后再將這些文件夾及文件打包成patch覆蓋到項目中,但是有了小烏龜(Totoise)就大大節省了人工操作,SVN對應的是TotoiseSVN,Git對應的是TotoiseGit。

下面我們分別介紹一下TotoiseSVN和TotoiseGit批量導出變更文件的方法:

1. 准備

  • 首頁安裝TotoiseSVN或者TotoiseGit客戶端工具。
  • TotoiseSVN依賴SVN服務器,推薦安裝VisualSVN Server,可安裝在自己電腦,也可選擇內網服務器。
  • TotoiseGit相對簡單,Git可在本機項目直接建立倉庫,不依賴Git服務器。

以上安裝部署不進行闡述。

2. TotoiseSVN實際操作

2.1 檢出項目

首先我們需要把項目檢出到本地,比如說我們有的朋友借助的是Eclipse內帶的SVN工具的話,我們在導出補丁時可以單獨借助小烏龜(TotoiseSVN)檢出項目,這樣小烏龜(TotoiseSVN)只作為導出功能。

8e069dce79d0ab207f9921c99a891277.jpg

右擊需要存放文件的文件夾空白處,選擇SVN Checkout

648b6343585f38a3f2b816ee6c05624c.png

顯示Checkout Finished!(檢出完成),此時可以看到文件夾中有檢出的大量項目文件(這是所有文件,不單是變更文件)

2.2 查看日志

小烏龜(TotoiseSVN)提供大批量的文件日志瀏覽器,通過日志瀏覽器,我們選擇變更、新增的文件導出。

bb0d1af52ae063ec9259ef139d73f25e.png

右點空白處選擇TotoiseSVN - Show log 可以看到日志瀏覽器

e4c13e8387a4edb583aff5174298336f.png

我們可以通過按住ctrl多選或shift全選來選擇上部的文件,下面則看到這些變理文件的路徑,這就表示這些文件發生過變更。

2.3 選擇導出

在SVN項目中,大多數文件狀態就是“新增(Added)”、“已修改(Modified)”、“已刪除(Deleted)”這些,所以我們在批量導出的時候注意這些文件,所以在日志瀏覽器中,我們看到Actions一欄都是感嘆號,表示已修改(Modified)。

但是我們要注意的是,如果日志文件中的文件狀態是已刪除(Deleted)的狀態,就意味着這個文件是不存在的,所以不用導出,如果你全選了的話,就會報出文件不存在的錯誤。

1e84ce303fb05a0ca45a8024a44bacb7.png

注意上圖Actions一欄有一個文件發生了新增后又刪除的狀態,這個文件在多選的時候要規避掉,意思就是不用導出。

95d3c277bc5d26e837172ea985177471.png

全選下部分帶路徑的變更文件,選擇Export進行導出

aec9672d98708791f504f5fe82a2fba8.png

選擇好創建的patch目錄用於存放這些變更文件,即可完成導出

1ad72a9c31041c5125217482aa0795be.png

可以看到文件目錄生成了開發目錄的同級別目錄下面存在的導出文件,這時候就可以將patch目錄打包覆蓋主干項目,或者生產環境中了。

3. TotoiseGit實際操作

TotoiseGit和TotoiseSVN差不多,區別較大的就是前者可以在本機建立倉庫,不依賴服務器。

3.1 TotoiseGit拉取(pull)項目

如果環境中有git項目,則通過Git Clone拉取項目,如果只是本地創建倉庫,則選擇Git Create repository here...

ad809773e01db5afd8c193d70677a042.png

我們選擇Git Create repository here...創建一個新的倉庫

3.2 TotoiseGit查看日志

和TotoiseSVN的操作基本一樣,也是選擇Show log

811625e92b0611d14ca6dc0122963ef5.png

右點空白處選擇TotoiseGit - Show log 然后看到日志瀏覽器

bc4b5164361a5d8b87e88ef1971a9cbd.png

要注意的是TotoiseGit比SVN要好用的一點是,除了Actions圖標能看到文件狀態,還能在下面Status中看到多選的文件狀態,和TotoiseSVN一樣的是,如果文件是已刪除(Deleted)的話,就肯定導不出了

b6cc20611f1ca8463526f24b2de364fd.png

多選下面的文件,右點選擇Export selection to...,選擇導出存放的文件夾,這樣就完成了TotoiseGit的批量導出,它和TotoiseSVN沒太大區別。

http://www.joomla178.com/joomla-share/other/patch-tools-how-to-use-to-totoise-export-changed-files.html


免責聲明!

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



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