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

Posted noxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了svn如何根据提交日志信息回退版本相关的知识,希望对你有一定的参考价值。

问题场景:

1 记得提交的日志信息中包含openssl,但是不记得这次提交的版本号revesion,是svn初始化后中间的某次提交;

2 svn环境的操作系统平台为Fedora, 即命令行下;而且svn log的提交记录有12659条;

[[email protected] v2.1]# svn log | grep r | wc -l
12659

解决办法:

step1  查找提交日志信息对应的版本号 r33178

[[email protected] 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

[[email protected] 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 "

以上是关于svn如何根据提交日志信息回退版本的主要内容,如果未能解决你的问题,请参考以下文章

svn 已提交版本回退

Git代码回滚-回退到指定版本

svn还原与本地版本回退

linux svn客户端的日志编码怎么修改

SVN 实践

如何修改SVN中已提交的日志