情况背景:
ibank.pdm文件最新版本有问题,版本号为5051。 我想在5050的版本上修改后提交,覆盖5051版本的修改,也就是经过我修改后的5050版本,覆盖5051版本的修改,提交成功并成为最新的版本5052。
 
使用TortoiseSVN软件实现,版本1.6.10,步骤如下:
1.先将现在的5051版本ibank.pdm更新到我想要的5050版本
2.修改5050版本ibank.pdm,修改完毕后备份到另一个地方。不是放在当前svn目录下就好,避免等下更新会对现有的5050版本ibank.pdm有影响。
3.备份完毕后,删除现在5050版本的ibank.pdm,更新最新的5051版本ibank.pdm下来。
4.删除刚更新下来的5051版本ibank.pdm,将刚备份的修改后的5050版本ibank.pdm复制到当前svn目录,提交。
 
成功覆盖提交!现在最新版本5052是5050版本修改后的一个版本,5051版本的内容成功覆盖。
 
这里解释下为什么有3、4这样的步骤呢?
因为SVN提交的文件限定是在最新的版本上提交,若是在旧版本上的修改并提交,会错误提示你,请更新你的文件到最新版本。但是在我现在的情况下,我若乖乖更新,5051版本的ibank.pdm修改出会影响到我现在的5050版本,并且会有冲突,况且我想最新的版本也就是5052,没有5051版本的修改,只是5050版本修改后的版本。所以我利用TortoiseSVN文件原理,TortoiseSVN信息会将SVN信息记录到.svn文件夹中。它能判断出我的ibank.pdm是5050版本,不是最新的版本5051,也是这个文件夹下记录的信息的功劳。所以我将计就计,先备份我修改后的5050版本ibank.pdm,然后删除,为什么删除?因为最新版本5051版本修改出跟现在有很多的不同处,会提示文件冲突,当然你手动修改冲突出也是可以的,若你不嫌麻烦的话。所以我就先删除,再更新。这样更下来的ibank.pdm是5051版本,并且文件没有冲突提示。这是.svn文件夹记录的信息就是我的ibank.pdm是5051版本,于是我再把5051版本ibank.pdm删除,把刚备份的修改后的5050版本复制过来,提交。SVN找出.svn文件夹记录的ibank.pdm版本信息是5051版本(实际上5050版本),误认为我现在的ibank.pdm是5051版本后的修改版本,于是我就能躲掉请你更新文件为最新版本的校验,成功提交了。
 
自我总结:
这里充分利用了狡黠的原理,比如说过一条河,直走不能通过,我绕一下路通过呗。所以说,解决问题不能一根筋,要灵活、变通。
 
 

TortoiseSVN 覆盖SVN仓库最新版本提交的更多相关文章

  1. SVN仓库连同版本信息迁移新服务器的步骤

    SVN仓库连同版本信息迁移新服务器的步骤 步骤一:导出(1)链接原服务器,找到SVN Server安装路径下的bin文件,并复制文件路径,如 C:\Program File\SVN Server\bi ...

  2. 使用git svn clone迁移svn仓库(保留提交记录)

    使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172 ...

  3. svn查看指定版本提交信息的命令

    通过svn命令查看指定版本提交的文件和日志信息 svn log -r ARG -v ARG :版本 可以是如下之一: NUMBER 版本号 '{' DATE '}' 在指定时间以后的版本 'HEAD' ...

  4. git将远程仓库最新版本拉到本地仓库

    一.正规做法有两种.git fetch和git pull. 注意不管用fetch还是pull,做之前都要在本地仓库做一次git commit,确保,本地仓库和工作目录及缓存一致.1.git fetch ...

  5. SVN仓库删除最近的提交,还原到某日期以前的版本(svn仓库 删除最近几次更改)

    由于某日删除了SVN仓库的大量内容,现在突然想恢复,又要保留LOG的连贯性(恢复出来的已删除文件,会是新增,没有之前的历史Log了),所以才有了这需求. Dump版本库的版本(457以后版本不要) - ...

  6. Github如何提交修改的代码以及更新到最新版本

    最近有人问我,Github上如何把修改fork到的代码提交到原版本上去,以及如何更新到最新的版本.只针对初学者,大神的话勿喷. 首先说第一个问题. 进入到你修改的某个repository里面(以本人的 ...

  7. maven 本地仓库无法更新到最新版本的jar包

    maven 本地仓库无法更新到最新版本的jar包 描述:maven 本地仓库无法更新最新版的jar包导致项目一直报错 解决:去jar包版本所在目录,删除掉所有红框内文件,重新用ide导入

  8. 细说SVN集中式版本控制器

    svn全称Subversion,实现多人开发同一个项目时,对源代码进行管理的工具.在公司里边,一个项目是由多人同时在开发,大家在本地自己电脑开发php代码,完毕后就commit上传给服务器运行.  如 ...

  9. SVN集中式版本控制器的安装、使用与常见问题汇总

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,它采用了分支管理系统,集中式版本控制器 官方网站:https://www.visualsvn.com/ 下载右边的服务器端,左边的客 ...

随机推荐

  1. Expectation Maximization-EM(期望最大化)-算法以及源码

    在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable).最大期望经常用在机器学 ...

  2. 【BZOJ】【2200】【USACO 2011 Jan】道路和航线

    做了一天…… TLE:数组开小了-_-#道路是有50000的,双向要乘二.(我特么怎么想的就以为是树了……) WA:一些大点都WA了,小点都过了.好纠结…… AC了QAQ,不知道为什么,在并查集合并的 ...

  3. scala编程第17章学习笔记(1)——集合类型

    列表 列表的初始化及对其首尾的访问: scala> val colors = List("red", "blue", "green") ...

  4. 利用WebClient实现对Http协议的Post和Get对网站进行模拟登陆和浏览

    我们在一些场合经常需要模拟浏览器进行一些操作,比如模拟投票,或者模拟点击,或者Web游戏外挂.而C#中封装好的WebClient可以在某些要求不算搞的场景实现Http的Post和Get.具体请见代码: ...

  5. ListView 控件与 内容

    1)由控件获取内容:ListViewItem item = Utilities.GetVisualParent<ListViewItem>(chx); if (item == null) ...

  6. 【转】php里面也可以使用协程

    原文链接:http://blog.51cto.com/chinalx1/2089327 http://nikic.github.io/2012/12/22/Cooperative-multitaski ...

  7. Andriod中的依赖注入

    Web后端开发者应该对依赖注入都比较熟悉,至于Android又是如何进行依赖注入的呢?在这篇文章中,让我们一起通过一个例子了解一下在Android中进行依赖注入的好处. AndroidAnnotati ...

  8. JavaScript 之 变量

    一:作用域 说起变量第一个要说到的肯定就是作用域,正是因为不熟悉JS的 作用域,往往就会把面向对象的作用域张冠李戴,毕竟有些东西总是习惯性的这样,但是并不是每次照搬都是可以的,那么下一个问题就来了,j ...

  9. Swift高速入门之函数

    函数 看一个函数的样例: func addNumbers( let a:Int,let b:Int)->Int{ return a+b; } 实现两个数相加.函数必须以func开头,后面是函数名 ...

  10. java面试第六天

    集合:保存多个其他对象的对象,不能保存简单类型 List:有序(存放元素的顺序),可重复的集合 ArrayList:实质就是一个会自动增长的数组 查询效率比较高,增删的效率比较低,适用于查询比较频繁, ...