|
费话就不多说了,直接来配置代码说话,在安装好最新的subversion server后,就已经将apache与svn集成好了,我们要做了就是直接创建代码库,然后将代码库配置到apche中去。
首先要注意httpd.conf里面是否加载了svn模块 :
LoadModule dav_module modules/mod_dav.so
#LoadModule dav_svn_module modules/mod_dav_svn.so
#SVN
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
1.创建代码库,我将代码库创建在D:\svn_repository,命令:svnadmin create fenpig2
D:\SVN_REPOSITORY-------------------------------------(这个目录下的子目录用来存放各个代码仓库)
│ authz-----------------------------------------(svn用户密码文件)
│ passwd--------------------------------------(svn用户组文件)
│ svn-auth-------------------------------------(apache用户密码文件)
│ svn-group------------------------------------(apache用户组文件)
│
└─fenpig2-----------------------------------------(这里是一个仓库)
│ README.txt
│ format
│
├─locks
│ db.lock
│ db-logs.lock
│
├─hooks
│ start-commit.tmpl
│ pre-commit.tmpl
│ pre-revprop-change.tmpl
│ pre-lock.tmpl
│ pre-unlock.tmpl
│ post-commit.tmpl
│ post-lock.tmpl
│ post-unlock.tmpl
│ post-revprop-change.tmpl
│
├─conf
│ svnserve.conf
│
└─db
│ fs-type
│ current
│ write-lock
│ uuid
│ fsfs.conf
│ rep-cache.db
│ min-unpacked-rev
│ txn-current
│ txn-current-lock
│ format
│
├─revs
│ └─0
│ 0
│
├─revprops
│ └─0
│ 0
│
├─transactions
└─txn-protorevs
说明一下,我配置的是多库的方式,在D:\SVN_REPOSITORY 目录下面,可以放多个项目库,这里我只有一个fenpig2库,并且我将fenpig2下面的认证文件指向了顶层的D:\SVN_REPOSITORY 下面的认证文件authz和passwd中。
auth内容如下 :
[aliases]
[groups]
programer = peirenlei,hack988
[/]
@programer = r
[fenpig2:/]
@programer = rw
pass内容如下:
[users]
peirenlei = 123123
hack988 = 321321
2.配置apache。
首先创建用户:
htpasswd.exe -c D:\svn_repository\svn-auth peirenlei 123123
htpasswd.exe D:\svn_repository\svn-auth hack988 321321
这里创建了两个用户peirenlei,hack988,千万要注意:这里的用户名密码都要和svn中的认证文件中的用户名密码一定要相同
然后创建用户组文件,直接用记事本编辑即可,这里组名为programer ,保存在 D:/svn_repository/svn-group,这个组名也要与svn认证文件中的组的名字相同:
programer = peirenlei,hack988
最后修改httpd.conf文件,在最下面加入:
<Location /svn/>
DAV svn
AllowOverride none
SVNListParentPath on
SVNParentPath d:/svn_repository
AuthType Basic
AuthName "fenpig Subversion repositories"
AuthGroupFile D:/svn_repository/svn-group
AuthUserFile D:/svn_repository/svn-auth
AuthzSVNAccessFile D:/svn_repository/authz
Require valid-user
</Location>
注意上面的 Location /svn/ 的写法,最后面要叫个/,否则apache可能会报路径不相符的错误 。
好了,到此为至,所有配置都已完成,重启apache,输入http://localhost/svn
,会跳出输入用户名和密码的窗口,输入正确的用户名密码,即可看到我们的仓库了。
最后说明一下,在用subclipse做java开发web项目的时候,classes文件夹是要注意的地方,我的步骤如下:
1. 按branches,tags,trunk创建项目库目录结构, 将完整的项目拷贝至"trunk/项目名称" 下.
2. 提交 branches,tags,trunk 至项目库。
3. 用subclipse从项目库子路径"trunk/项目名称"检出项目。
4. 用TortoiseSVN工具,将WEB-INFO/classes文件夹加入忽略列表。
5. 将第四步中的忽略动作更新至项目库。
这样就可以进行日常的修改提交工作了。(注:如果不这样,会因classes文件夹产生错误) |
|
|