svn(转载)
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 循环遍历