微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 "

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐