【Umezawa's Jitte】真正用起来svn来管理版本

之前用过一次 但是没有真正的用起来 只是知道了一些基本概念

好了 决定开始真正的用这个svn了

参考大神http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html

搞来搞去发现其实是建立一个svn之后把每个项目都装在这个svn目录下的不同文件夹里(也是试出来的小领悟)

一切以实例为主,开始吧

 

我的svn目录建在 /home/user/svn/下

则先建立了这个文件夹后,在这下面建立svn目录结构

mkdir /home/user/svn
svnadmin create --fs-type fsfs /home/user/svn

之后,我以管理两个项目为例,一个叫pro_1,一个叫pro_2,他们分别在/home/user/projects/pro_1和/home/user/projects/pro_2下面。

svn mkdir file:///home/user/svn/pro_1 -m "Initial create pro_1 directory"
svn import /home/projects/pro_1 file:///home/user/svn/pro_1 -m "Initial import pro_1"
svn mkdir file:///home/user/svn/pro_2 -m "Initial create pro_2 directory"
svn import /home/projects/pro_2 file:///home/user/svn/pro_2 -m "Initial import pro_2"

这里有个小细节,就是在import的时候,是将pro_1/pro_2下的文件进行import,所以需要事先建好文件夹来import。

 

接着这两个文件已经搞定了,来开始配置不同文件的访问权限。在/home/user/svn下找到conf文件夹,下面开始来。

先改svnserve.conf,去掉所有有效的注释行,就可以了

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = read
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory.  If you don't specify an authz-db, no path-based access
### control is done.
### Uncomment the line below to use the default authorization file.
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = Welcome to my svn

anon-access = read 代表的是未验证通过用户的权限;auth-access = write代表的是验证通过用户的权限;password-db = passwd代表的是用户名密码文件所在地址,通常就放在了conf文件夹下,就不用改了;authz-db = authz代表的是访问权限的配置文件所在地,默认也是在conf文件夹下,也默认不改,realm = Welcome to my svn就是默认的一个欢迎语,在访问的时候会出现,随意。

接着,来搞passwd

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
root = root
tom = tom
helen = helen

大概就是这个意思,再来看authz

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a
### single user, to a group of users defined in a special [groups]
### section, or to anyone using the '*' wildcard.  Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[groups]
admin = root
user0 = tom
user1 = helen

[/pro_1]
@admin = rw
@user0 = r
* =

[/pro_2]
@admin = rw
@user1 = r
* =

这里的pro_1和pro_2是根据马上的开启svn服务器的指令相关的,反正意思就是pro_1可以root和tom访问,pro_2可以root和helen访问。

接下来开启svn服务器就好了

svnserve -d -r /home/user/svn

用户tom想要访问pro_1,则

svn ls svn://172.25.31.153/pro_1

好像第一次进入要输入用户名和密码,如果想要更换身份的话

svn ls svn://172.25.31.153/pro_2 --username helen --password helen

这个好像进入一次用这个用户名,接下来的访问都默认用这个身份,除非新的--username XXX --password XXX出现。

祝各位玩的顺利

posted @ 2013-07-15 17:56  poiu_elab  阅读(563)  评论(0编辑  收藏  举报