硬广:《SVN与TortoiseSVN实战》系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解。

关于属性的奇技淫巧较多,分为两篇来写,第一篇详见《SVN与TortoiseSVN实战:属性的奇技淫巧(一)》,内容概要:

1、属性的概念和基础操作;

2、属性的关键字展开;

3、使用属性忽略某些文件;

4、设置Mime类型;

5、自动设置属性;

6、引用外部项目;

7、设置签入日志限制;

8、属性冲突;

4、设置Mime类型


SVN将项目仓库中的文件分为两种:文本文件和二进制文件。

由于二进制文件是不可读的,因此SVN对于合并文件、处理冲突时会对二进制文件进行区别对待。

使用TortoiseSVN的Properties菜单打开属性窗口,使用New按钮选择Minme-Type,如下图进行设置:

大家可以试一下设置为二进制后产生冲突与文本类型的差别。

5、自动设置属性


自动设置属性其实就是SVN对所有某个类型的文件进行相同的属性自动设置。

比如把所有的.java文件设置一个属性,可以使用如下配置:

enable-auto-props = yes
[auto-props]
*.java = svn :keywords =Date Rev Id
*.txt = svn :keywords =LastChangedDate LastChangedRevision

自动设置属性仅在本地有效。

6、引用外部项目


有时候,你的SVN中的项目可能依赖了另一个项目仓库中的代码,通常这些共用和通用的代码会有一个独立的项目仓库。

SVN提供了externals属性来把其它项目仓库中的代码纳入到你的本地拷贝中,而这些签出的外部依赖项建议作为只读拷贝,不要对其修改。

新建一个目录,使用TortoiseSVN的Properties菜单打开属性窗口,使用New按钮选择Externals:

在URL中输入外部依赖项的SVN地址即可。

7、设置签入日志限制


在团队管理中要求每次提交必须填写提交日志是强烈推荐的做法,可以帮助团队成员了解其他成员的修改情况,也便于做历史追踪。

TortoiseSVN通过自有的属性,允许设置提交日志和锁定日志的最小长度。如果你输入的日志短于预设值,提交会被禁止,这两个属性如下:

tsvn:logminsize;

tsvn:lockmsgminsize;

由于是通过TortoiseSVN自有的属性来设置的,因此只有使用TortoiseSVN客户端才有效。

在项目根目录上右键,使用TortoiseSVN的Properties菜单打开属性窗口,使用New按钮选择Log Sizes:

1、2分别是签入和加锁的日志最小字符数。

还有一种实现这种限制的方法是在SVN服务端编写钩子,不过稍微麻烦一点。

8、属性冲突


属性跟文件一样,不同成员同时对同样位置的修改也会产生冲突,更简单点说是对同一个属性的修改。

如果因为其他用户已经提交了同样的属性,提交时出现冲突,会产生一个 .prej 文件。

冲突的处理窗口如下:

对于冲突处理,可以参考《SVN与TortoiseSVN实战:冲突详解(一)》讲解的比较清楚,触类旁通。


记录,为更好的自己!

SVN与TortoiseSVN实战:属性的奇技淫巧(二)的更多相关文章

  1. SVN与TortoiseSVN实战:属性的奇技淫巧(一)

    硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...

  2. SVN与TortoiseSVN实战:冲突详解(二)

    硬广:<SVN与TortoiseSVN实战>系列已经写了四篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  3. SVN与TortoiseSVN实战:文件加锁详解

    硬广:<SVN与TortoiseSVN实战>系列已经写了八篇,本篇是完结篇,整个系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,以技巧性为主. 本篇详解使用Tortoi ...

  4. SVN与TortoiseSVN实战:补丁详解

    硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  5. SVN与TortoiseSVN实战:补丁详解(转)

    硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  6. SVN与TortoiseSVN实战:冲突详解(一)

    硬广:<SVN与TortoiseSVN实战>系列已经写了三篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,第二篇<SVN与TortoiseSVN实战:标签 ...

  7. SVN与TortoiseSVN实战:TortoiseSVN新建及合并分支

    硬广:<SVN与TortoiseSVN实战>系列已经写了两篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,关于分支和标签的知识介绍可翻阅第二篇<SVN与T ...

  8. SVN与TortoiseSVN实战:标签与分支

    最近在写<IOS性能调优系列>,今天偷个懒,写写SVN与TortoiseSVN实战的第二篇,标签与分支. 第一篇详见<SVN与TortoiseSVN实战:从入门到精通> SVN ...

  9. SVN与TortoiseSVN实战:从入门到精通

    SVN,版本控制程序,是支撑项目开发的基础工具. 在团队开发中,不管是程序员还是美工.测试等人员,都会用到SVN,通常会把SVN视为源代码管理工具,但对于SVN更准确的理解是: “帮助参与项目人员的管 ...

随机推荐

  1. iphone dev 入门实例2:Pass Data Between View Controllers using segue

    Assigning View Controller Class In the first tutorial, we simply create a view controller that serve ...

  2. Cpk

    CPK:Complex Process Capability index 的缩写,是现代企业用于表示制程能力的指标.制程能力是过程性能的允许最大变化范围与过程的正常偏差的比值.制程能力研究在於确认这些 ...

  3. DBA_Oracle Archive Log的基本应用和启用(概念)

    2014-11-15 Created By BaoXinjian

  4. RMQ问题(线段树+ST算法)

    转载自:http://kmplayer.iteye.com/blog/575725 RMQ (Range Minimum/Maximum Query)问题是指:对于长度为n的数列A,回答若干询问RMQ ...

  5. Expert C# 5.0中的Linq部分

    1.先看看.NET中的Linq 2.扩展方法 3.Lambda表达式和表达式树 4.Linq中的延迟操作 5.Linq中的查询方法 5.1分割操作 5.2连接操作 5.3排序操作 5.4分组和连接 5 ...

  6. LPC1768之时钟

    一锁相环和CPU时钟. CPU时钟=锁相环0输出/CPU时钟配置寄存器的预分频值即:Fcpu=Fcco/CCLKCFG+1.锁相环可以把外部时钟倍频到较高频率,PLL0输出频率是: Fcco = (2 ...

  7. RVMDK的DEBUG调试-实时数据查看

    无论在Simulation还是硬件仿真的情况下,View-period windows update后watch窗口添加的变量即可实时更新, 软仿真和硬件仿真的区别就是实际时间的差异:如RTC查看秒的 ...

  8. Python进阶01 词典

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 基础教程介绍了基本概念,特别是对象和类. 进阶教程对基础教程的进一步拓展,说明Py ...

  9. list,set,map,数组之间的相互转换详细解析

    1.list转setSet set = new HashSet(new ArrayList()); 2.set转listList list = new ArrayList(new HashSet()) ...

  10. Android应用框架浅析

    http://blog.csdn.net/yanbober/article/category/3206943 Android应用层View绘制流程与源码分析   http://blog.csdn.ne ...