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更准确的理解是: “帮助参与项目人员的管 ...
随机推荐
- Spring Tool Suite中的Tomcat启动状态修改java代码保存立刻生效
- jquery.cookie.js存与取以及过期时间设置
$(function(){ $(".active_out .abtn").click(function(){ $(this).parents(".active_out&q ...
- Web上传文件
客户端 相对于FTP文件上传,Web文件上传速度慢一些,但使用方便,不需要客户端,而且权限比FTP容易控制. Web文件上传采用POST方式,上传文件需要设置FORM的entype属性为 ...
- 简单的缓存代理HTTP服务器
http, 演示客户与服务器套接字. http只支持GET操作及硬编码的MIME类型的一小部分(MIME类型是多媒体内容的类型描述符).代理HTTP服务器是单线程的,该线程中每一个请求依次被处 ...
- CE_现金账户转账汇入汇出交易(案例)(未完成)
2014-07-15 BaoXinjian 一.摘要 二.案例 通过 Oracle Payments 结算事务处理 通过付款模板 事物处理子类型 已验证 -> 正在结算中 ->
- python 判断内网IP方法及实例应用
一.初衷: 一般在CMDB里会存储一台服务器的内网IP.管理IP.电信IP.联通IP,我们在使用的时候只需要拿到其中一个外网IP地址即可.那么我们就需要判断内网IP.管理IP并剔除掉,获取第一个外网I ...
- 如何判断TCP包是否发送成功
1. TCP发送接口:send() TCP发送数据的接口有send,write,sendmsg.在系统内核中这些函数有一个统一的入口,即sock_sendmsg().由于TCP是可靠传输,所以对TCP ...
- js鼠标事件、键盘事件实例代码
讲述了:鼠标的哪个按键被点击.当前鼠标的光标坐标是多少.被按下键的unicode码是多少.当前鼠标的光标相对于屏幕的坐标是多少.当前鼠标的光标坐标是多少.shift键是否按下.当前被点击的是哪一个元素 ...
- 庭审全程文字实录 z
备受关注的深圳快播公司涉黄案两日来在北京市海淀法院开庭审理,快播CEO王欣(微博).事业部总经理吴铭.事业部副总经理张克东.事业部副总经理兼市场部总监牛文举出庭接受审理. 面对传播淫秽物品牟利罪的指控 ...
- [Java] 实现一个基于命令行的用户管理
实现基于一个命令行的用户管理,控制台操作 控制类 /* * 文 件 名: mvc.my.test.UserInterface.java * 版 权: XXX Technologies Co., Ltd ...