标签:自己 access arw 基础配置 uri 改密码 hooks svn服务器 主机
Subversion在MacOS系统已经默认安装,用户可以直接使用。本文主要介绍在Mac系统上SVN的一些基本
使用配置。
svn --version
已经安装了Svn,则会输入当前版本信息:
svn, version 1.9.4 (r1740329)
compiled Feb 27 2017, 18:16:16 on x86_64-apple-darwin15.0.0
......
mkdir repository
cd repository
mkdir repo_app
cd repo_app
pwd
输出: /Users/master/Documents/work/repository/repo_app
说明:
repository: 该文件夹是Svn存储库基础路径,其下可以创建多个存储库
repo_app: 是我们用来存在app类应用的存储库,同样,用户可以再创建其他的存储库
svnadmin create /Users/master/Documents/work/repository/repo_app
创建完成后,将会在 “repo_app" 目录下自动创建一系列配置文件,结构如下所示:
.
└── repo_app
├── README.txt
├── conf
├── db
├── format
├── hooks
└── locks
文件路径
/Users/master/Documents/work/repository/repo_app/conf/svnserve.conf
修改如下配置项:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
注意,修改svnserve.conf时,取消注释后,配置项前面不要有空格。
文件路径
/Users/master/Documents/work/repository/repo_app/conf/password
在[users]配置项下面添加用户和密码:
[users]
admin = admin
配置文件路径:
/Users/master/Documents/work/repository/repo_app/conf/authz
在authz文件中添加:
[/]
admin = rw
设置用户admin的权限为对所有数据具有读写权限。
典型的启动命令如下所示:
svn -d --listen-port=port --listen-host=host -r /Users/master/Documents/work/repository
参数说明:
-d: 表示以后台进程启动Svn
--listen-port:指定Svn服务的监听端口,默认为 3690
--listen-host:指定主机名
-r: 指定Svn服务监听的目录,服务启动后会暴露该目录下的存储库
本文中使用如下命令启动Svn:
svnserve -d -r /Users/master/Documents/work/repository/repo_app
如上命令表示,Svn服务将作为独立后台进程启动,并且,Svn服务自动监听的仓库为repo_app。
由此,开发人员可以向repo_app存储仓库下导入代码或文档。
通过lsof命令查看3690端口的占用情况:
master$ lsof -i tcp:3690
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
svnserve 48576 master 3u IPv4 0x6e47ed08d6a3c8df 0t0 TCP *:svn (LISTEN)
如上表述,svserve进程已经坚挺在3690端口,表示Svn服务正常启动。
初始化仓库:
svn import /Users/master/Documents/work/workspace/cmm svn://localhost:3690/cmm --username=admin --password=admin -m "Import initial code"
注意:
一开始,作者比较疑惑的是启动服务后的存储库路径问题。如上所示,通过命令行的 -r 参数指定了顶层目录为 repo_app。则表示,通过该参数限定后,Svn的路径起始位置就是repo_app。因此导入代码时,直接指定代码导入的仓库的相对路径即可:
svn://localhost/cmm
代码迁出命令:
svn checkout svn://localhost/cmm ./cmm --username=admin --password=admin
将未处于版本控制的文件添加到Svn的版本控制中:
svn add 文件或文件夹
提交代码:
svn commit -m"Commit your changeset"
客户端从服务器端拉取最新的代码到本地工作空间:
svn update
一般情况下,开发人员会在公司局域网内搭建自己的Svn服务器,用于对项目进行集中式管理。研发团队一般会存在多个项目,基于Svn做配置管理,建议的策略是:
每个项目都建立自己的项目仓库
那么,如何在一台服务器上建立多个仓库呢?如下通过实例进行说明。
假设目前需要建立两个仓库:
/Users/master/Documents/work/repository 目录结构:
.
├── auto-di //仓库auto-di
│ ├── README.txt
│ ├── conf
│ ├── db
│ ├── format
│ ├── hooks
│ └── locks
└── cmm //仓库cmm
├── README.txt
├── conf
├── db
├── format
├── hooks
└── locks
如果需要维护多个仓库,则启动Svn时通过“-r”参数置顶多个仓库的公共父级目录,如下所示:
svnserve -d -r /Users/master/Documents/work/repository
通过如上命令,指定了Svn服务监控的目录为 “/Users/master/Documents/work/repository”
两个仓库的访问地址是:
svn://localhost/auto-di //相对路径 auto-di
svn://localhost/cmm //相对路径 cmm
标签:自己 access arw 基础配置 uri 改密码 hooks svn服务器 主机
原文地址:https://www.cnblogs.com/nelson2013/p/9292140.html