svn如何根據提交日志信息回退版本


問題場景:

1 記得提交的日志信息中包含openssl,但是不記得這次提交的版本號revesion,是svn初始化后中間的某次提交;

2 svn環境的操作系統平台為Fedora, 即命令行下;而且svn log的提交記錄有12659條;

[root@localhost v2.1]# svn log | grep r | wc -l
12659

解決辦法:

step1  查找提交日志信息對應的版本號 r33178

[root@localhost v2.1]# svn log --search openssl
------------------------------------------------------------------------
r33183 | somebody | 2019-01-24 15:59:21 +0800 (Thu, 24 Jan 2019) | 1 line

delete fc28 openssl
------------------------------------------------------------------------
r33178 | somebody | 2019-01-24 12:48:31 +0800 (Thu, 24 Jan 2019) | 1 line

add openssl refers packages
------------------------------------------------------------------------

step2: 確定現在最新的版本號 r33205

[root@localhost v2.1]# svn log -l 2
------------------------------------------------------------------------
r33205 | somebody | 2019-02-19 17:20:27 +0800 (Tue, 19 Feb 2019) | 1 line

Tue Feb 19 17:20:27 CST 2019
------------------------------------------------------------------------
r33204 | somebody | 2019-02-19 17:20:26 +0800 (Tue, 19 Feb 2019) | 1 line

Tue Feb 19 17:20:26 CST 2019
------------------------------------------------------------------------

step3: 合並改版本內容到目版本中

svn merge -r 33205:33178 ""
   ........
   C openssl-devel-1.1.0h-3.fc28.i686.rpm
   C openssl-libs-1.1.0h-3.fc28.i686.rpm
   C openssl-pkcs11-0.4.7-6.fc28.i686.rpm
   C openssl-static-1.1.0h-3.fc28.i686.rpm
--- Recording mergeinfo for reverse merge of r33205 through r33179 into '.':  

step4: 提交合並內容到版本中

svn commit -m "recover revison-33178 to latest revision "


免責聲明!

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



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