SVN与TortoiseSVN实战:属性的奇技淫巧(二)
硬广:《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实战:属性的奇技淫巧(二)的更多相关文章
- SVN与TortoiseSVN实战:属性的奇技淫巧(一)
硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...
- SVN与TortoiseSVN实战:冲突详解(二)
硬广:<SVN与TortoiseSVN实战>系列已经写了四篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...
- SVN与TortoiseSVN实战:文件加锁详解
硬广:<SVN与TortoiseSVN实战>系列已经写了八篇,本篇是完结篇,整个系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,以技巧性为主. 本篇详解使用Tortoi ...
- SVN与TortoiseSVN实战:补丁详解
硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...
- SVN与TortoiseSVN实战:补丁详解(转)
硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...
- SVN与TortoiseSVN实战:冲突详解(一)
硬广:<SVN与TortoiseSVN实战>系列已经写了三篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,第二篇<SVN与TortoiseSVN实战:标签 ...
- SVN与TortoiseSVN实战:TortoiseSVN新建及合并分支
硬广:<SVN与TortoiseSVN实战>系列已经写了两篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,关于分支和标签的知识介绍可翻阅第二篇<SVN与T ...
- SVN与TortoiseSVN实战:标签与分支
最近在写<IOS性能调优系列>,今天偷个懒,写写SVN与TortoiseSVN实战的第二篇,标签与分支. 第一篇详见<SVN与TortoiseSVN实战:从入门到精通> SVN ...
- SVN与TortoiseSVN实战:从入门到精通
SVN,版本控制程序,是支撑项目开发的基础工具. 在团队开发中,不管是程序员还是美工.测试等人员,都会用到SVN,通常会把SVN视为源代码管理工具,但对于SVN更准确的理解是: “帮助参与项目人员的管 ...
随机推荐
- 在x86转x64的开发过程会遇到各种意外的问题,比如MSScriptControl 在x64下
遇到这种只能编译成x86的组件,那么就必须将 生成 目标平台 设置成 x86 参考文章: http://www.dotblogs.com.tw/stanley.hsu/archive/2010/04 ...
- Hive架构及Hive On Spark
Hive的所有数据都存在HDFS中. (1)Table:每个表都对应在HDFS中的目录下,数据是经过序列化后存储在该目录中.同时Hive也支持表中的数据存储在其他类型的文件系统中,如NFS或本地文件系 ...
- PLSQL_闪回操作5_Flashback Table
2014-12-09 Created By BaoXinjian
- Javascript函数声明与函数表达式
在定义函数时,我们一般使用下面这两种方法: 使用函数声明定义: function sum (a, b) { return a + b; } 使用函数表达式定义: var sum = function ...
- JConsole connection failed
最近用jconsole本地连接eclipse失败 , 如下图 : 在eclipse.ini中添加如下代码即可 -Dcom.sun.management.jmxremote.port=9999-Dcom ...
- OperationResult
public class OperationResult<T> { private readonly ConcurrentDictionary<string, T> _valu ...
- JSON.stringify()的使用--将string转换成json
===========================================================1. ====JSON.stringify()================== ...
- 关于ie6下拖动滚动条时,div抖动的问题解决
你如果遇到了这个问题,算是你有福了. 首先说非ie6下的div不随滚动条变化而移动位置的. 1,首先在body中写足够多的文字,一直到浏览器出现滚动条.例如你可以拼命的放P,足够多的P标签 2建立一个 ...
- @SessionAttributes与HttpSession
SessionAttributes注解将model中与它同名的属性保存在HttpSession中. 在controller的方法执行完毕后处理SessionAttributes注解并保存的,是Hand ...
- OC基础(3)
对象的存储细节 函数与方法对比 常见错误 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bot ...