笔者:张克强    在微博上:张克强-敏捷307

2014/7/6

方法一来自于我的一条微博:

组织级scm建一个名为controlled的文件夹,当项目某文档通过评审后,组织级scm从项目文件夹下找到那文档,拷贝到controlled文件夹下。

请@scmeye软件配置管理社区 @E路向前--李忠利 @火星人陈勇 点评下这做法

针对方法一的点评例如以下

邱润HW:有什么东西是能够全然被控制的吗?假如没有,那就没意义。假如有,用文件夹这样做控制,应该不仅仅仅仅是命个名字吧。 (3月27日 08:54)

火星人陈勇:有没有试验过用SVN?感觉SVN直接打一个版本号号也不错吧,呵呵。反正我如今全部文档都在一个在线的SVN里边管理着。怕出现版本号覆盖问题。 (3月27日 17:56)

scmroad配置管理之路:svn 中有个东西叫tag (3月27日 18:03)

王海鹏Seal:七种浪费之:搬运不创造价值。

(3月27日 18:33)

缪刘俊:复制来了工作量[哈哈](3月27日 18:37)

stephen_wang_7971:补充:这里还包括Inventory的工作。

相同不创造价值(3月27日 19:09)

方法二来自于@火星人陈勇 的点评:SVN版本号号,由于SVN版本号号是SVN自己主动打上的,所以我理解直接打一个版本号号的意思就是记录下这个号,抑或是在commit的comments里说明下,回头直接查SVN的log就可以。

方法三来自于@scmroad配置管理之路:tag,SVN的tag相当于拷贝到可读不可写的文件夹下,文件夹名称就是tag名称。与Clearcase的Label是不一样的。

以上讨论。大家可能看不明确。以下小结下

方法一:源自于配置管理常说的三库-开发库、受控库、产品库。这是古老配置管理工具遗留下来的做法,看似稳妥,实质效率底下,转移根本没有增值,反而带来一致性维护问题。

方法二:利用SVN自身的revision number。

最高效的方法是在关键commit时说明打基线,或者说明关键要点,比方评审后改动再复核通过,比方评审通过。

方法二更加正式的做法是利用专门的表格记录关键点的Revision Number

方法三:利用Tag/Branch。拉出Tag和Branch后。对于基线(Tag),要保持仅仅读,看似方便,事实上有隐患。由于还有形态全然一样的分支(Branch)

本文所称SVN下最高效打基线方法是指上述方法二。

还在使用三库的朋友们。是时候改进了。这应当有2%的全局效率提升!

不服的朋友。欢迎辩论!拿出更好的,更有效的SVN基线法!

版权声明:本文博客原创文章,博客,未经同意,不得转载。

SVN最有效的方法打基线的更多相关文章

  1. Ubuntu Server搭建svn服务以及迁移方法【转】

    转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...

  2. Linux下SVN的一些使用方法总结

    Linux下SVN的一些使用方法总结   近期的一个项目不方便 Check 到本地,需要在测试服务器上进行编写和测试,所以就研究了一下如何在 Linux 命令行下使用 SVN. 首先 svn help ...

  3. svn冲突文件解决方法

    svn冲突文件解决方法 工具/原料 svn客户端 方法/步骤 1 通过SVN客户端更新需要的文件,如果出现有感叹号的文件,找到出现感叹号的文件. 2 选择感叹号文件,即冲突文件,单击鼠标右键对冲突文件 ...

  4. svn的基本使用方法

    一,svn的介绍 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库(repository) 中. ...

  5. 转:SVN常见问题与解决方法

    今天发现一个SVN很奇葩的问题.原来SVN提交的时候也是识别提交路径的大小写的... 发现网上有篇博客总结的挺好的.转载下来,转载出路:http://blog.csdn.net/shinn613/ar ...

  6. Eclipse中修改SVN用户名和密码方法(转)

    由于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法. 解决方案: 在Eclipse 使用SVN 的过程中大多数人往往习惯把访问SVN 的用 ...

  7. 更新Delphi中SVN客户端版本的方法

    Delphi从XE以后集成里SVN客户端, 安装完Delphi以后, 在bin\subversion下, 存放的就是SVN客户端文件, 可惜版本有点低(好像是1.7的) 如果想更新成高版本的客户端文件 ...

  8. Svn正确的使用方法

    想必大家现在都比较喜欢使用svn(subversion)完成代码管理了,因为它的开源,轻巧,易用.但是这样一个宝贝如果不知道其正确的用法,也会让我们百思不得其解,甚至耽误项目进度,浪费程序员的心血和结 ...

  9. Eclipse中修改SVN用户名和密码方法[转]

    由于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法. 解决方案: 在Eclipse 使用SVN 的过程中大多数人往往习惯把访问SVN 的用 ...

随机推荐

  1. HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)

    HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: ...

  2. sql: sql developer使用

    在sql developer中登陆某数据库,在procedure里面加入一个proc,种类选ARBOR: CREATE OR REPLACE PROCEDURE PROCEDURE23 IS NAM ...

  3. xcode-build/version-bump

    # xcode-build-bump.sh # @desc Auto-increment the build number every time the project is run. # @usag ...

  4. webdynpro tree控件使用

    1.  首先创建一个TREE控件 2.  在Tree下面创建一个TREE  NODE  TYPE ,node type 是可以继续展开的,而Item type是无法展开的. 3. 创建node.,下面 ...

  5. TestNg JAVA 自动化单元测试框架Demo

    TestNg TestNg 是java的一个自动化单元测试框架 参考:http://testng.org/doc/index.html 环境准备 既然是java 的自动化单元测试框架,就必须要有jav ...

  6. 【ASP.NET Web API教程】2.3.2 创建域模型

    原文:[ASP.NET Web API教程]2.3.2 创建域模型 Part 2: Creating the Domain Models 第2部分:创建域模型 本文引自:http://www.asp. ...

  7. boost锁的概述

    ●     boost锁的概述 boost库中提供了mutex类与lock类,通过组合可以轻易的构建读写锁与互斥锁. ▲     mutex对象类 mutex类主要有两种:boost::mutex,b ...

  8. KNN算法理解

    一.算法概述 1.kNN算法又称为k近邻分类(k-nearest neighbor classification)算法. 最简单平庸的分类器或许是那种死记硬背式的分类器,记住全部的训练数据,对于新的数 ...

  9. Java总结之容器

    [容器的概念] 容器:Java API所提供的一系列的实例,用于在程序中存放对象. [容器 API] J2SDK所提供的容器API位于java.util包内. {Collection[Set(Hash ...

  10. 【ASP.NET Web API教程】4.2 路由与动作选择

    原文:[ASP.NET Web API教程]4.2 路由与动作选择 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内容. 4.2 Routing ...