• SVN学习记录2


    SVN图标集与忽略功能

    1.查看图标集

    常见图标集

    1)常规图标(normal):当客户端文件与服务器端文件完全同步时,系统显示该图标;

    2)冲突图标(conflcted):当客户端提交的文件与服务器端数据有冲突,系统会显示该图标;

    3)删除图标(deleted):当服务端数据已删除,那么客户端该文件将显示该图标;

    4)添加图标(added):当我们编写的文件已添加到提交队列,那么系统将自动显示该图标;

    5)无版本控制(non-versioned):当我们编写的文件没有添加到上传队列时,系统将自动提示该图标;

    6)修改图标(modified):当客户端文件有修改但未提交,此时将自动显示以上图标;

    7)只读图标(readonly):当客户端文件以只读形式存在时,将自动显示以上图标;

    8)锁定图标(locked):当服务端数据已锁定,那么客户端文件将自动显示该图标;

    9)忽略图标(ignored):客户端文件已忽略,不需要进行提交上传,那么将自动显示该图标。

    2. 忽略功能

    有些文件不希望上传至svn服务器,应该将该文件或该类型的文件添加只忽略列表

    2.1忽略某个指定的文件

     2.2忽略某类型文件

    SVN版本回退

    1.什么是版本回退

    有时候,软件的运行可能使开发者或使用者不满意,这时我们需要把当前版本回退到以前的某个版本

     2. 版本回退功能

    1. 假设项目经理在某次操作中删除了Common.php文件

     2. 事后却发现该模块还有很多功能有需求,这时候我们可以借助SVN的Update to revision功能

     3. 点击后出现如下对话框

     4.点击Show log,根据日志信息选择要回退的状态即可

     

     5. 回退到删除操作之前的版本即可,效果图如下

    注意:在实验的过程中,可能因为自己不小心的一些误操作出现过一些bug,本人就在做demo的时候碰到两个问题。
    1. SVN查询log出现"offline for now, Permanently offline"解决方法
    2. 看不到日志,显示1970-01-01
    参考:http://blog.sina.com.cn/s/blog_5642b8730100yire.html
    补充:不过虽然是两个问题,我一开始一直在纠结第一个问题,然后各种修改配置文件(authz和svnserve.conf),但是还是显示1970-01-01,于是我尝试着解决了第二个问题,按照上述文章修改了authz就解决了。

    SVN版本冲突

    1. 什么是版本冲突

    在实际开发过程中,如果两个人同时修改某个文件就会产生版本冲突问题

    2. 模拟版本冲突

     模拟上述过程出现如下错误:

     3.解决之道

    3.1 合理分配项目开发时间

    3.2 合理分配项目开发模块

    3.3 通过SVN解决版本冲突问题

    a. 更新服务器端数据到本地,出现下图情况

      index.php:整合后的index.php文件

      index.php.mine:小强修改后的index.php文件(起始状态)

      index.php.r6: 09:00更新时的index.php文件

      index.php.r7: 旺财修改后的index.php文件

    b. 删除除index.php以外的其他三个文件

    c. 修改整合index.php冲突文件

    d. 重新提交数据到SVN服务器,即可解决版本冲突问题

    svnserver配置文件详解

    参考:https://blog.csdn.net/wxr15732623310/article/details/70303586

    svnserve是SVN自带的轻型服务器,客户端通过使用SVN://或svn+ssh://为前缀的URL来访问svnserve服务器,实现远程访问svn版本库。
    svnserve可以通过配置文件来设置用户和口令,以及按照路径控制版本库访问权限
    svnserve配置文件通常由3个文本文件组成:
    1)svn服务配置文件:在conf目录下,文件名为svnserve.conf
    2)用户名口令文件:在conf目录下,文件名为passwd
    3)权限配置文件,在conf目录下,文件名为authz

    svnserve.conf文件

    该文件由一个[general]配置段组成,组成:<配置项>=<值>
    配置项分为以下5项:
    anon-access:控制非鉴权用户的访问本库的权限。取值范围为{"write","read","none"},默认值:read
    auth-access:控制鉴权用户访问版本库的权限。取值范围为{"write","read","none"},默认值:write
    password-db:指定用户名口令文件名。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。默认值:passwd
    authz-db:指定权限配置文件名,通过该文件可以实现路径为基础的访问控制。除非指定绝对路径,否则文件位置为相对conf目录的相对路径。默认值:authz
    realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件。默认值:一个UUID(Universal Unique IDentifier,全局唯一标示)
    
    案例表示:svn服务配置文件的内容如下:
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz
    realm = /var/svn/Health_net_V1.0
    
    说明:设定非鉴定用户无权访问该版本库;鉴权用户可对版本库进行读写;用户名口令文件为conf目录下的passwd,权限配置文件为版本库conf目录下的authz,
    版本库的认证域为
    /var/svn/Health_net_V1.0

    passwd文件

    该文件由一个[users]配置段组成,格式:<用户名>=<口令> 注:口令为未经过任何处理的明文
    
    案例:
    [users]
    admin=admin
    cheng=cheng
    
    说明:该文件中配置了两个用户admin和cheng,口令分别为admin和cheng

    authz文件

    该文件由[groups]配置段和若干版本路径权限段组成
    [groups]配置段格式:<用户组>=<用户列表>
    用户列表由若干个用户组或用户名构成,用户组或用户名之间用逗号","分隔,引用用户组时要使用前缀"@"
    
    版本库路径权限段格式:[<版本库名>:<路径>]
    可省略段名中版本库名。若省略版本库名,则该版本库路径权限对所有版本库中相同路径的访问控制都有效。
    
    版本库路径权限段中配置行格式有如下三种:
    a. <用户名>=<权限>
    b. <用户组>=<权限>
    c.  * = <权限>
    其中,"*"表示任何用户;权限取值范围为'','r','rw',"表示对该版本库路径无任何权限",'r'表示具有只读权限,'rw'表示有读写权限
    注意:每行只能配置单个用户或用户组
    
    案例:authz
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    # 组名 = 用户列表
    admin = admin
    users = user1

    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =

    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    [Shop:/]
    @admin = rw
    @users = r
    * = r

    小结

    SVN管理员可以通过这三个配置文件设置svnserve服务的用户名口令,以及对版本库路径的访问权限。这些配置文件保存后就立即生效,不需要重启svnserve服务
    做一枚奔跑的老少年!
  • 相关阅读:
    EffectComposer + ShaderPass 实现分区特效
    C#树形结构格式化
    vue rules 特殊验证添加
    chrome 下载crx插件 提示 程序包无效 解决方案
    正则表达式 手机、正整数、身份证、Email…
    vue 组件 父组件直接获取$emit 的数据
    响应尺寸
    读取、重写 Web.config文件
    ArcGIS License Manager 服务启动后自动停止
    mianshiti
  • 原文地址:https://www.cnblogs.com/xiaoshayu520ly/p/11771621.html
Copyright © 2020-2023  润新知