• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

第二次机会和Subversion

发布: 2008-5-29 10:10 | 作者: 网络转载 | 来源: 网络转载 | 查看: 98次 | 进入软件测试论坛讨论

领测软件测试网

我们一直在犯错误,如果生活总会给你第二次机会,或者改正错误的机会,那不是很棒吗?幸运的是你使用了Subversion,大多数情况下,你可以轻松的修改错误。

假设我们的Subversion不能做的很简单,你犯了一些错误,但是删除了所有发生过的轨迹,Subversion记录在某个时间点的版本库,而且历史不可变,也就是不可以修改。很不幸,这意味着一旦你不小心提交了包含密码的配置文件,你可以编辑文件并再次提交,但是Subversion永久保留最初的提交,包含密码。删除这些东西的唯一办法就是把版本库dump到一个文件,从dump文件中小心的删除那些内容,然后重新加载版本库。这不适合胆小者,但是可以做。大多数Subversion安装使用提交钩子在每次提交时发送修改细节邮件,这很有价值,即使Subversion让删除轨迹变得容易,也无法避免邮件发送到全世界。

一个Subversion可以简单修正的常见错误就是对于删除的恢复,我恨这一点,但是几个月以前我不小心将Subclipse版本库的整个branches目录删除了,你可以在这里看到使用ViewVC看到血淋淋的细节,我知道我可以简单将它找回来。如果你查看以前的链接,你可以看到我在修订版本2981提交了删除,我需要做的就是将其从2980拷贝出来。

svn copy -r2980 http://subclipse.tigris.org/svn/subclipse/branches@2980 \
http://subclipse.tigris.org/svn/subclipse/branches

这个命令的意思是,”将2980修订版本的branches目录拷贝到branches(目前不存在的目录)”,你需要在第一个URL中添加 @2980,它告诉Subversion的历史跟踪规则找到这个目录。如果你省略这个参数,Subversion会查看版本库的HEAD修订版本,你可以在ViewVC的这里看到提交的结果,请注意你可以看到项目是从修订版本2980拷贝而来。

所以就是这样将删除的东西恢复,如果事情更加细致该如何?你修改了一组文件,但是你不希望有这些修改。你希望从本质上”回退提交”,这对于 Subverison非常简单,你可以通过所谓的”反向合并实现”。本质上讲,就是使用svn merge命令将修订版本号反转过来,对于命令行用户,这种情况已经在Subversion book中详细论述,请见回退修改部分,这一小节也有一些其他的例子,很值得一看。

Subclipse和TortoiseSVN在其图形界面中提供了更简单的方法,1月份我在我的个人blog里写了一个类似的例子,它介绍了使用Subclipse GUI完成这个功能的方法,如果你希望知道如何使用GUI完成这个功能可以看这个帖子。

如果说我希望这个帖子能带来什么,我希望是增加Subversion对于数据安全的信心,继续修改并提交,那就是Subversion的工作,如果你犯了错误,不必担心,Subversion一直会给你第二次机会。

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 机会 Subversion


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网