svn版本库操作(四)
一、使用命令行模式访问 SVN 服务器
1. 检出(checkout)
(1) 首先进入自己的工作目录,例如:D:\svnSpace
cd D:\svnSpace
(2) 运行 svn checkout 命令,命令格式如下
# svn checkout svn://SVN 服务器主机地址/具体仓库目录 保存检出内容的目录
svn checkout svn://localhost/OA MyOA
运行 checkout 命令后进入 MyOA 目录,里面有一个隐藏目录.svn,用来保存与服务器交互的重要信息,其中包括从服务器端取回的最新版本信息、文件状态、更新时间等。SVN 正是以此为依据判断当前目录中文件的状态。这个隐藏目录千万不要删除或修改其中的内容。如果服务器端保存的文件可以视为一个“正本”,那么每个开发人员检出到本地目录的文件可以视为“副本”,通常称为工作副本。
2. 提交(commit)
svn add test.txt
- 使用-m 参数附加日志信息
- 开启访问权限
svn commit -m "My first commit" test.txt
- 进入对应的版本库目录下的 conf 目录:D:\svnDep\OA\conf
- 打开 svnserve.conf
- 将第 19 行的# anon-access = read 改为 anon-access = write,也就是去掉“# ”,将 read 改为 write。注意前面不要留空格,一定要顶格写。
- 不需要重启 SVN 服务,甚至命令行窗口都不需要重新打开。
其实 svn commit 命令最后可以不指定具体文件,此时表示提交当前工作副本中的所有修改。
3. 更新(update)
执行 svn update 命令
4. 将工作副本整体回复到某一个历史版本
svn update --revision 想要取回的版本号
#svn update --revision 1
5. 将某个文件恢复到某个版本中的状态,同时不涉及其他文件
svn update 文件名 --revision 想要取回的版本号
#svn update pp.txt –revision 10
二、单一版本库权限配置
(4) 将第 27 行注释打开:password-db = passwd,表明使用同目录下的 passwd 文件保存用户信息
(5) 将第 36 行注释打开:authz-db = authz,表明使用同目录下的 authz 文件保存权限信息
2. 打开 passwd 文件创建用户
# 用户名=密码
userWrite01 = 123456
userWrite02 = 123456
userRead = 123456
userOther = 123456
3. 打开 authz 文件:#后面注释的是例子
(1) 创建用户组
[groups]
# 组名称=成员列表
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
canWrite = userWrite01,userWrite02
(2) 指定路径,给用户和用户组授权
# [/foo/bar]
# harry = rw
# &joe = r
# * =屏蔽那些未设定的用户,让它们没有任何权限 # 指定路径:根目录
[/]
# canWrite组具有读写权限
@canWrite = rw
# userRead用户具有读权限
userRead = r
# 除了上面设置的,其他的用户或组没有任何权限
* =
(3) 权限的继承性:父目录设置的权限,对子目录同样有效——除非子目录进行更为具体的设定
[/subDir]
userOther = rw
* =
三、多版本库共享配置
1. 在版本库根目录 D:\svnDep 下创建 commConf 目录
2. 将未修改的 authz 和 passwd 文件拷贝到 commConf 目录下
3. 修改需要设置权限的版本库的 svnserve.conf 文件
- password-db = ../commConf/passwd
- authz-db = ../commConf/authz
4. 在 password 中创建用户
[users]
# harry = harryssecret
# sally = sallyssecret
userERP = 123456
userCRM = 123456
userOA = 123456
5. 在 authz 中针对不同版本库为不同用户授予权限
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[ERP:/]
userERP = rw
* = [OA:/]
userOA = rw
* = [CRM:/]
userCRM = rw
* =
四、查看工作副本信息


五、查看目录或文件日志信息
svn版本库操作(四)的更多相关文章
- svn版本库更新后自动同步到www
注意:www目录一定要用SVN服务器 checkout出Repositories的代码 步骤: (1)新建www根目录 mkdir -p /data/www/lehuo (2)在www根目录下检出(c ...
- TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库
TortoiseSVN和VisualSVN-Server的配置使用,外网访问SVN版本库 SVN客户端程序:TortoiseSVN SVN服务器程序:VisualSVN-Server ######## ...
- SVN版本库(访问权限)配置实例笔记
http://blog.csdn.net/zjianbo/article/details/8578297 SVN版本库(访问权限)配置实例笔记 本系列文章由ex_net(张建波)编写,转载请注明出处. ...
- 工作随笔——使用svnsync实时备份SVN版本库
前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...
- Linux 搭建svn版本库
一.安装svn服务器端yum install subversion 从镜像下载安装svn服务器端 如果后面执行“svnadmin create /usr/local/svn/sunny”提示 ...
- SVN版本库备份和恢复
1.版本库备份 1.1.svnadmin dump方式备份 此方法借助的是Subversion官网推荐的svnadmin dump备份方式,它的优点是比较灵活,既可以进行全量备份又可以进行增量备份,并 ...
- linux服务器上创建svn版本库
1. 创建存放各个svn版本库的目录svnrepos(自己定义路径) -bash: cd /usr/local/apache/htdocs/ -bash: mkdir svnrepos 2. 假设我要 ...
- 使用svnsync实时备份SVN版本库
前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...
- linux 创建svn版本库,并在svn上配置checkstyle做代码风格检查
一.创建SVN版本库 1.安装svn服务器 yum install subversion 2.查看版本 svnserve --version 3.建立SVN版本库目录(即你的SVN服务器里面的文件存放 ...
随机推荐
- LG4979 矿洞:坍塌 珂朵莉树
问题描述 LG4979 题解 珂朵莉树+O2简直就是绝配 对于操作 A ,直接 \(\mathrm{assign}\) 推平就完事了. 对于操作 B ,如果它左右端点有在边界上的,直接把区间 \([l ...
- LG2921 [USACO2008DEC]Trick or Treat on the Farm 内向基环树
问题描述 LG2921 题解 发现一共有 \(n\) 个点,每个点只有一条出边,即只有 \(n\) 条边,于是就是一个内向基环树. \(\mathrm{Tarjan}\) 缩点. 但是这个题比较猥琐的 ...
- Django2.2报错 AttributeError: 'str' object has no attribute 'decode'
准备将 Django 连接到 MySQL,在命令行输入命令 python manage.py makemigrations 后报错: AttributeError: 'str' object has ...
- python-6-for循环及format三种用法
前言 循环我们前面讲过了无限循环,那么for循环属于什么循环呢?显然就是有限循环: 另外格式化输出我们前面也讲过,但是format也能做到不一样的格式化输出.一起看看吧! 一.for 循环 1.fro ...
- C语言中的scanf与scanf_s 以及循环输入的问题解决
Scanf 在标准C中,scanf提供了键盘输入功能. scanf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中.与printf函数相同,C语言也允许在使用scanf函数之前不必包含s ...
- YY工具隐私政策
YY工具(以下简称“我们”)深知个人信息对您的重要性,并会尽全力保护您的个人信息安全可靠.我们致力于维持您对我们的信任,恪守以下原则,保护您的个人信息:权责一致原则.目的明确原则.选择同意原则.最少够 ...
- 压缩20M文件从30秒到1秒的优化过程
文章来源公众号:IT牧场 有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去.之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改 ...
- MyCat(转)
https://www.cnblogs.com/bingosblog/p/7171501.html http://www.cnblogs.com/joylee/p/7513038.html ht ...
- Entity Framework 6 中如何获取 EntityTypeConfiguration 的 Edm 信息?(三)
接着上一篇,我们继续来优化. 直接贴代码了: LambdaHelper.cs using System; using System.Collections.Generic; using System. ...
- WPF 通过Win32SDK修改窗口样式
使用函数为 SetWindowLong GetWindowLong 注册函数 [DllImport("user32.dll", EntryPoint = "GetWind ...