笔者:张克强    在微博上:张克强-敏捷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. hdu4431 Mahjong

    Mahjong Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. MySQL存储引擎:InnoDB和MyISAM的差别/优劣评价/评测/性能测试

    InnoDB和MyISAM简介 MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写 ...

  3. 时间戳timestamp

    1 时间戳 数据库中自动生成的 唯一的 二进制的数据,通常用作给数据表的行添加版本戳的机制. timestamp与时间和日期无关. timestamp存储大小为8字节. 一个数据表只能有一个times ...

  4. TCanvas.CopyRect方法中参数CopyMode的意义

    首先看可能取值: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cmBlackness = BLACKNESS; cmDstInvert = DSTINVERT; cmMer ...

  5. 不包含SDK头文件, 补全API定义

    /// @file main.cpp /// @brief 不包含SDK头文件, 补全API定义 #ifdef __cplusplus extern "C" { #endif /* ...

  6. accept系统调用内核实现

    用户态对accept的标准使用方法: if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_siz ...

  7. ASP.NET之Application、Session和Cookie的差别

    在Asp.net中Application.Session和Cookie都能够保存信息,那么它们有什么不同呢? 一.首先Application是在server端建立一个状态变量,存储于server的全局 ...

  8. 【慎思堂】之JS牛腩总结

    一 JS基础 1-定义 Javascript是一种脚本语言/描述语言,是一种解释性语言.用于开发交互式web网页,使得网页和用户之间实现了一种实时性的.动态的.交互性的关系,使网页包含更多活跃的元素和 ...

  9. Eclipse 乱码问题 修改设置

    1.工作空间的字符编码设置 2.对于任意的项目,可以右键选择属性,然后修改 3.对于任意一个文件,同样的操作,右键选择属性,然后配置字符编码

  10. C 语言资源大全中文版

    C 语言资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-c 是 koz.ross 发起维护的 C 语言资源列表,内容包括了: ...