一个例子:

公司的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

【已转移】【Java架构:基础技术】一篇文章搞掂:SVN的更多相关文章

  1. 【已转移】【Java架构:系统架构理论】一篇文章搞掂:RESTful

    一.定义 1.起源 来源:Roy Fielding的博士论文. 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构. 定义:一种实现软件通信的架构风格.设计风格, ...

  2. Java 集合详解 | 一篇文章解决Java 三大集合

    更好阅读体验:Java 集合详解 | 一篇文章搞定Java 三大集合 好看的皮囊像是一个个容器,有趣的灵魂像是容器里的数据.接下来讲解Java集合数据容器. 文章篇幅有点长,还请耐心阅读.如只是为了解 ...

  3. N个任务掌握java系列之统计一篇文章中单词出现的次数

    问题:统计一篇文章中单词出现的次数 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中. (2)定义一个Map,key是字符串类型,保存单词:valu ...

  4. 【已转移】【Java架构:基础技术】一篇文章搞掂:Spring

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------ ...

  5. 【已转移】【Java架构:基础技术】一篇文章搞掂:Java 8

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展 ...

  6. 【Java架构:基础技术】一篇文章搞掂:Spring Boot 官方文档解读

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文内容大部分是翻译和总结官方文档,可以到https://docs.spring.io/spring-boot/docs查看(此地 ...

  7. 【Java架构:基础技术】一篇文章搞掂:MyBatis-Plus

    前言 Mybatis:一个流行的半自动ORM框架. Mybatis-Plus:一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发.提高效率而生. 本文使用的版本:myb ...

  8. 【Java架构:基础技术】一篇文章搞掂:MyBatis

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文主要总结于刘增辉的<MyBatisc从入门到精通>一书,有兴趣的朋友可以自行研读 建议仔细研读官方文档: http ...

  9. 【Java架构:基础技术】一篇文章搞掂:Spring Boot

    本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<Spring Boot 实战第4版>的总结,大家也可以去仔细研读该书 注意,书中使用的Spring Boot ...

随机推荐

  1. 使用定时器settimeout、setInterval执行能传递参数的函数

    无论是window.setTimeout还是window.setInterval,在使用函数名作为调用句柄时都不能带参数,而在许多场合必须要带参数,这就需要想方法解决.经网上查询后整理如下: 例如对于 ...

  2. 【ABAP系列】SAP ABAP与Java数据类型的对应关系

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP与Java数据类 ...

  3. jdk (Java Development Kit)

    JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具. JD ...

  4. vue构造器注册UI组件

    import ConfirmComponent from '../../components/confirm/index' import { mergeOptions } from '../plugi ...

  5. linux mysql修改数据表结构语法

    MySQL修改表的语法=========================增加列[add 列名]=========================①alter table 表名 add 列名 列类型 列 ...

  6. jquery动态加载select选项

    $("#selectid").get(0).options.add(new Option(json数据))

  7. 使用onfocus与onblur实现搜索框附加信息

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. node的fs模块使用————node

    node的fs模块使用----node fs模块是调用文件的模块. var fs=require('fs'); //引用模块. //查看文件信息 fs.stat('index.txt',functio ...

  9. jsp页面必填项如何加红星号*

    1.加*号 并且设置*号大小 <span style="color:red; font-size: 20px">*</span>

  10. Ubuntu系统安装配置tensorflow开发环境

    Ubuntu系统安装 下载ubuntu iso 选择目前最新的版本是 Ubuntu 18.04 LTS .下载地址: 官网:https://www.ubuntu.com/download/deskto ...