svn版本库操作(四)

摘要:
3.更新并执行svnudate命令4。将工作副本作为一个整体还原为历史版本svnupdate,即修订版想要检索的版本号#svnupdate--revision15。将文件恢复到某个版本的状态,而不涉及其他文件svnupdate文件名--修订版要检索的版本号#svnupdatepp.txt–revision10 2。单个版本库的权限配置需要创建用户以设置授权访问,并为用户设置权限。

一、使用命令行模式访问 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)

进入 D:svnSpaceMyOA 目录,创建一个test.txt文件
(1) 首先执行svn add命令,将其纳入版本控制,这一步是必须的,否则没法提交到服务器
svn add test.txt
(2) 执行 svn commit 命令
  • 使用-m 参数附加日志信息
  • 开启访问权限
svn commit -m "My first commit" test.txt
 
暂时先开启匿名访问权限 :
  • 进入对应的版本库目录下的 conf 目录:D:svnDepOAconf
  • 打开 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

二、单一版本库权限配置

要设置授权访问就需要创建用户,并为用户设定权限。
1. 配置授权访问
(1) 打开conf/svnserve.conf
(2) 将第 19 行 anon-access = write 注释掉:# anon-access = write,表明该版本库不接受匿名访问
(3) 将第 20 行# auth-access = write 注释打开:auth-access = write,表明该版本库使用授权访问 
(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
* =
这个例子表示当前版本库下的 subDir 目录只有 userOther用户有读写权限,其它用户无任何权限。

三、多版本库共享配置 

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 info查看某个版本库的信息
svn版本库操作(四)第1张
 
使用svn info 文件名 查看某个文件的信息
svn版本库操作(四)第2张

五、查看目录或文件日志信息

使用 svn log 命令
注意:使用这个命令的前提是设置匿名访问为 none,即:anon-access = none,否则会出现“svn: E220001: 条目不可读”错误。
 
 
 
 

免责声明:文章转载自《svn版本库操作(四)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇UEFI引导在GPT分区下安装win2008——抓住那只傲娇的win2008openwrt防火墙firewall下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

万能Ghost系统制作教程

本篇是制作万能Ghost系统的基础教程。制作的万能Ghost系统镜像文件,可以恢复到任何一台机器上使用 (应该是绝大多数机器上),对于经常装机的朋友,可以给自己带来极大的方便。 录像视频教程:http://bbs.ylmf.com/read.php?tid=27312&u=35 一、前期基础工作 ================= 1、准备所需工具...

Windows驱动 INF文件

参考一:百度百科 参考二:INF文件的节 参考三:wikipedia 参考四:MSDN: INF File   INF文件的节        INF文件是一个文本文件,由许多按层次结构排列的节组成,他们以方括号中的节名称开始,如[Version]、[Manufacturer]等,后面是改接所含有的各个项,如Signature、DriverVer等。节中各项...

【重构】Bilibili UWP 客户端下载视频文件重命名 2.0

代码已上传Github:https://github.com/zsy0216/BatchModifyBilibiliName 较 master 分支的改变: - 优化了重命名的代码,覆盖更全面,更准确; - 重命名过程中删除多余文件,文件更简洁; - 重构为 maven 更有利于二次开发; - 使用 NIO 操作文件,功能更强大,效率更高; 示例 1. 下...

ffmpeg 加中文水印不能显示的问题

引用资料:https://blog.csdn.net/DeliaPu/article/details/76162489 中文不能显示的原因是没有指定字体库路径。只要把windows上的ttf文件移动到linux上,在程序中指定ttf文件路径和名称就可以使用中文字体了。我使用的ttf是msyh.ttf,即微软雅黑 网上其他资料说的linux 上执行fc-ca...

pg_ctl — 启动、停止、重启 PostgreSQL

pg_ctl 名称 pg_ctl -- 启动、停止、重启 PostgreSQL 语法 pg_ctl start [-w] [-s] [-D datadir] [-l filename] [-o options] [-p path]pg_ctl stop [-W] [-s] [-D datadir] [-m s[mart] | f[ast] | i[m...

在Win98上手工制作单张“网络软盘”

  1.      制作一张普通的DOS启动软盘 这一步与前面“四/2”一样。下面我们将该软盘称为“网络软盘”。 2.      拷贝现成的14个网络文件 找一张Windows NT Server 4.0中文版的安装光盘放入光驱中,将光盘根目录下\CLIENTS\MSCLIENT\NETSETUP子目录中的14个网络文件EMM386.EXE、HIMEM.S...