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 "

原文地址:https://www.cnblogs.com/noxy/p/10407568.html

时间: 2024-12-17 23:53:20

svn如何根据提交日志信息回退版本的相关文章

解决git提交敏感信息(回退git版本库到某一个commit)

解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提交版本的经历, 如何删除? 好像只有删除版本库来解决, 其实我们可以通过回退版本库删除相应的commit来将提交的敏感信息去掉. 备份本地代码 首先我们将本地代码的更改备份一下, 以防丢失更改 回退本地代码的commit 备份完数据, 我们就可以先回退本地的版本库 git reset --hard

SVN修改已提交版本的日志

在工作中一直是使用svn进行项目的版本控制的,有时候由于提交匆忙,或是忘了添加Log,或是Log内容写的有错误.今日遇到此类情况,想要在查看项目的日志时添加log或是修改log内容,遇到如下错误:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook显然此情况是svn服务端设置的问题,版本在提交后不允许修改log

SVN跨版本库迁移目录并保留提交日志

现在有一份代码code在版本库reposA/dirB/下,现在想把它移动到reposB/dirAA/下,本来打算交给SA做,没想到SA似乎 也不太懂的样子.于是,自己在VPS搭建了一个svnserver,然后在网上查了一下资料,确实没有明确的攻略,不过,综合一下,却也解决了问题. 需要达到的目的是: 1. 将代码移动到新的版本库 2. 将原始的提交记录保留 版本库的结构如下,有reposA和reposB这两个版本库,然后红色的reposA/dirB/code就是需要移动的代码目录.本来打算用 s

VisualSVN:允许修改svn提交日志(pre-revpro-change hook)

有时候需要对之前版本提交的错误的日志信息进行修改或者进行补充描述: 1.在windows 7( 64位 )下使用TortoiseSVN客户端,选中代码目录,点击右键,选择<显示日志> 在出来的日志列表对话框中,选择某个提交版本,再点击右键,选择<编辑日志信息>,如下图所示: 我们修改原来空白的日志信息 万恶报错信息出现了 这个时候怎么处理呢??难道SVN不爱我们了!! 由于缺省情况下为安全起见Subversion不允许开发人员修改已提交reversion的日志信息,这样会报错误,提

VisualSVN设置提交时必须输入日志信息

VisualSVN设置提交时必须输入日志信息 1.svn提交时强制输入提交信息 为了阻止SVN提交空日志信息和垃圾文件可以在SVN服务器端强制必须填写日志信息,这时需用到pre-commit钩子脚本. 2.设置方法 (1)打开VisualSVN管理控制台 (2)右键你要设置的代码仓库 (3)所有任务->Manage Hooks…… (4)编辑“Pre-commit hook",输入如下内容: @echo off :: :: Stops commits that have empty log

02_git查看提交版本记录和回退版本

查看版本记录和回退版本 1. 查看版本提交记录 git log # 显示每个版本的详情信息, 可以有些版本显示不全, 那么此时就可以使用 git reflog git log --graph --pretty=onelin # 把版本以一行显示 git reflog # 以第一行显示一个版本记录,显示所有的版本记录 2. 版本回退 版本回退有两种方法,一种是使用相对于HEAD的多少个版本, 另一种是使用版本号 git reset --hard HEAD^ HEAD 当前最新版本 HEAD^ /

SVN修改已提交版本的注释

SVN提交文件后,发现注释写的不完整或不够明确,想再修改注释文字.通过View Project History dialog修改完成后,在提交时遇到如下错误:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook显然此情况是svn服务端设置的问题,版本在提交后不允许修改log.需要在服务端添加一个hook来允许l

TortoiseSVN无法编辑日志信息的解决方法

提交时忘记编写日志,事后想在版本库浏览器中编辑日志信息,却弹出错误,"此版本库不允许修改版本属性请管理员创建pre-revprop-change钩子".解决方法如下: 在版本库的hooks目录中,新建pre-revprop-change.bat文本文件,编辑内容为: if "%4" == "svn:log" exit 0 echo Property '%4' cannot be changed >&2 exit 1 上面的批处理命令

ortoiseSVN无法编辑日志信息的解决方法

提交时忘记编写日志,想重新编辑日志信息,弹出错误提示: DAV 请求失败:可能是版本库的 pre-revprop-change 钩子执行失败或者不存在 至少有一个属性变更失败:版本库未改变 设置属性 “log” 出错: Repository has not been enabled to accept revision propchanges; ask the administrator to create a pre-revprop-change hook 解决方法如下: 在版本库的hooks