• 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实战:冲突详解(一)》讲解的比较清楚,触类旁通。


    记录,为更好的自己!

  • 相关阅读:
    WMS学习笔记:1.尝试加载WMS
    ftp文件上传和下载
    [WorldWind学习]19.WebDownload
    ASP.NET C# 如何在程序中控制IIS服务或应用程序池重启?
    asp.net mvc 全局权限过滤器及继成权限方法
    使用ActionFilterAttribute 记录 WebApi Action 请求和返回结果记录
    单点登录系统功能调试界面
    asp.net 读取RedisSessionStateProvider配置
    Redis-benchmark测试Redis性能
    ASP.NET MVC中移除冗余Response Header
  • 原文地址:https://www.cnblogs.com/ym123/p/4361473.html
Copyright © 2020-2023  润新知