欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

svn(转载)

程序员文章站 2022-04-02 20:05:37
...

1.基本的安装过程? 

      首先需要下载最新的服务器版本和客户端版本。在客户端即windows上安装TortoiseSvn。服务器上的是用于管理源代码的,客户端是下载源码和上传源码用的。 



2.在服务器端建立版本库 

      运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了 Subversion服务器之后,可以直接运行,如: 

Js代码 
1.svnadmin create E:\svndemo\repository  
svnadmin create E:\svndemo\repository 
  
就会在目录E:\svndemo\repository下创建一个版本库。 



3,配置权限 

svn的权限管理涉及到一下文件: 
passwd文件   --   /conf目录下   用于存放本svn库的用户名和密码,用 = 分割,左边是用户名,右边是密码(明文)。 
authz   --   /conf目录下   用于存放本svn库的访问授权信息。 
svnserve.conf   -- /conf目录下   用于存放本svn库的全局访问控制信息。 

来到E:\svndemo\repository\conf目录,修改svnserve.conf: 
# [general] 
# password-db = passwd 
改为: 
[general] 
password-db = passwd 然后修改同目录的passwd文件(设置用户密码),去掉下面三行的注释再加两个用户: 
# [users] 
# harry = harryssecret 
# sally = sallyssecret 
最后变成: 
[users] 
harry = harryssecret 
sally = sallyssecret 
svnadmin = admin 
zgz = zgz0809 
最后修改同目录的authz文件,它定义了两部分的内容: 
1,对组成员的定义, 
2,对目录的授权定义, 
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权, 
授权的选项有:只读访问('r'),读写访问('rw'),或者无权防问(''). 
authz文件中可以对任意多个目录进行权限控制,一下是一个例子: 

[groups] 
harry_and_sally = harry,sally 
#设定权限组 

[/] 
svnadmin = rw 

[/truck] 
zgz = rw 
harry = rw 
sally = r 
* = r 

[/sanguo] 
zgz = rw 
harry = r 
sally = rw 
* = r 

[/ts] 
@harry_and_sally = rw 
# 以@为键值意味着对前面定义的组进行授权 
* = r 

# [repository:/baz/fuz] 
# @harry_and_sally = rw 
# * = r 

用户svnadmin权限最大,他可以进行根目录(注意:是服务器目录svn://localhost/,下边会介绍的)下所有文件(包括子目录下的文件)的读写操作,而/truck,/sanguo,/ts是在服务器的根目录下创建的三个子目录。 
用户zgz 和harry对 /truck具有读写权限,sally 只有读的权限。 
用户zgz 和sally对 /sanguo具有读写权限,harry 只有读的权限。 
用户harry 和sally对 /ts具有读写权限,zgz只有读的权限。(* = r 表示所有用户都具有读的权限,当然zgz也就自然具有了。注意这里 @harry_and_sally = rw 表示给harry_and_sally组所有用户授权,该组在上边[groups]标签中已定义) 

注意:如果用户对一个目录具有某种权限,那么他对其子目录也有同样的权限(例如:svnadmin),所以在授权时要特别注意,尽量只付给满足用户需要的最小的权限。 



4,客户端配置 

cmd 运行svnserve -d -r E:\svndemo\repository 我们的服务器程序就已经启动了。注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。 



5,svncheck 

安装好客户端程序后,右键出现svncheck按钮,即可下载版本库 



6,版本的上传和更新 

使用update更新,commint进行上传,每次commit前最好都update下,缩短commit的时间间隔,尤其是在多人合作开发的情况下,避免冲突的发生 


Windows下SVN使用手册 

一、下载 

    首先,请登录SVN官网http://subversion.tigris.org/ 下载服务端和客户端安装包。 

    可以根据你的需求,下载相应的发行版。如VisualSVN,其服务端是免费的,它提供了一个界面管理器,实现可视化配置管理,然而客户端却是收费的。 
VisualSVN Server下载:http://www.visualsvn.com/server/download/ 

    对于大多数只进行源码版本控制的用户来说,TortoiseSVN无疑是首选。 
TortoiseSVN下载:http://tortoisesvn.tigris.org/ 
    如果不嫌麻烦的话,建议使用Apatch2.x手动配置版本,你可以到该网址下载 
http://subversion.tigris.org/getting.html#windows

 

 

 

      在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。 例如我用ls -l命令列文件表时,得到如下输出: -rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm 从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行。这在Novell的directory services之前很先进。 读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。 反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。 再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是 -rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm 如果用命令chmod 777 tt.htm,结果是 -rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm 任何人都有读、写、运行三项权限。

      -R 循环遍历