SVN与TortoiseSVN实战:属性的奇技淫巧(二)_项目管理_非技术区_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 非技术区 > 项目管理 > SVN与TortoiseSVN实战:属性的奇技淫巧(二)

SVN与TortoiseSVN实战:属性的奇技淫巧(二)

 2015/3/24 20:32:40  全栈工程狮  程序员俱乐部  我要评论(0)
  • 摘要:硬广:《SVN与TortoiseSVN实战》系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解。关于属性的奇技淫巧较多,分为两篇来写,第一篇详见《SVN与TortoiseSVN实战:属性的奇技淫巧(一)》,内容概要:1、属性的概念和基础操作;2、属性的关键字展开;3、使用属性忽略某些文件;4、设置Mime类型;5、自动设置属性;6、引用外部项目;7、设置签入日志限制;8、属性冲突;4、设置Mime类型SVN将项目仓库中的文件分为两种:文本文件和二进制文件
  • 标签:

硬广:《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文件设置一个属性,可以使用如下配置:

class="brush:cpp;gutter:true;">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实战:冲突详解(一)》讲解的比较清楚,触类旁通。


记录,为更好的自己!

  • 相关文章
发表评论
用户名: 匿名