zoukankan      html  css  js  c++  java
  • 【已转移】【Java架构:基础技术】一篇文章搞掂:SVN

    一个例子:

    公司的SVN代码中,含有target等文件夹,每次生成运行后,有很多文件打扰签入

    处理方案:

    1、CheckOut时,点击ChooseItems选项,不要选择这些target文件夹(有点麻烦,可能可以CheckOut后修改,但是暂时找不到修改方式)

    2、右键,SVN,setting,加入*.release(有一个文件夹叫.release),那么增加.release文件夹内容在non-versioned状态时,不会显示在签入界面

    基于CentOS搭建SVN服务器并管理代码

    查找SVN库

    yum list subversion

    安装SVN

    yum install subversion

    创建SVN资料存放目录

    mkdir /svn

    创建测试仓库

    svnadmin create /svn/test/

    显示目录下文件

    ll /svn/test/

    配置仓库

    修改服务配置文件:svnserve.conf

    可以使用vi、vim、或者下载下来修改

       anon-access = read #匿名用户可读
       auth-access = write #授权用户可写
       password-db = passwd #使用哪个文件作为账号文件
       authz-db = authz #使用哪个文件作为权限文件
       realm = test repository #认证空间名

    配置用户文件:passwd

    lqb = lqb123456
    test1 = 123456
    test2 = 654321

    配置授权文件:authz

    备注:

    admin = lqb,test2   创建admin组,组成员为:lqb,test2

    user = test1      创建用户组,用户成员:test1

    [test:/]       赋予根权限,为了便于管理和权限的控制,可以把权限细化到版本库中相应的目录

    @admin = rw       admin组有读写的权限

    @user = r        user组只有读的权限

    *=            表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

           

    备注:版本库的目录格式如下:

    [<版本库>:/项目/目录]

    @<用户组名> = 权限

    <用户名> = 权限

    其中[]內容有許多写法:

    [/],表示根目录及其一下的路径,根目录是svnserver启动时指定好的,上述实例中我们指定为:/svn/svndata([/]=/svn/svndata).[/]就是表示对全部版本设置的权限

    [test:/],表示对版本库test设置权限;

    [test:/svnadmin],表示对版本库test中的svnadmin项目设置权限;

    [test:/svnadmin/second],表示对版本库test中的svnadmin项目的目录设置权限;

    权限的主体可以是用户组,用户或者*,用户组在前面要以@开头,*表示全部用户

    权限分为:r ,w, rw和null ,null空表示没有任何权限。

    auhtz配置文件中的每个参数,开头不能有空格,对于组要以@开头,用户不需要。

    启动SVN服务

    svnserve -d -r /svn --listen-port 2002

    有盘符的话

    svnserve -d -r d:svn --listen-port 2002

    查看服务情况

    ps aux | grep svn

    停止SVN命令 killall svnserve

    注意:更改svnserver.conf时需要重启SVN服务,更改authz,passwd文件时则不需要重启服务

    然后就可以通过客户端连接服务器了

    编辑SVN必须输入备注

    在SVN仓库的hooks的文件夹中

    有一个pre-commit.tmpl模板,然后复制一个,去掉后缀名,修改其中内容

    #!/bin/sh
    REPOS="$1"
    TXN="$2"
    echo 错误:备注不能为空! 1>&2
    echo 请认真填写代码备注! 1>&2
    
    SVNLOOK=/usr/bin/svnlook
    $SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" > /dev/null || exit 1
       
    exit 0

    然后给与这个文件所有权限

    然后可以测试不输入备注签入,课件以下效果

    查看历史记录时看不到日期和备注,显示nodata

    ① 修改 svnserve.conf

    在anon-access = read后增加

    anon-access = none

    保存退出

    ② svn目录内右键——Tortoise SVN —— Settings

    找到左侧 Saved Data —— 右侧 Log messages(show log dialog) 点击右侧的clear

  • 相关阅读:
    es使用java的api操作
    vip视频解析保存
    springboot项目中常遇到的问题-初学者最容易犯的错
    spring中使用@value注入static静态变量
    Hardware assisted virtualization and data execution protection must be enabled in the BIOS. See https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization
    rabbitmq的简单使用
    微信朋友圈点赞功能
    SQLServer删除重复数据保留一条
    公司企业的网站备案工信部短信验证失败怎么办?证件不是营业执照,而是身份证号
    全部常用邮件端口25、109、110、143、465、995、993、994
  • 原文地址:https://www.cnblogs.com/LiveYourLife/p/10469211.html
Copyright © 2011-2022 走看看