目的: 建立本地个人使用svn
平台: ubuntu12.04
步骤:
1) sudo apt-get install subversion
2) 创建代码库 (建议进入root权限操作)
# mkdir /home/svn
# cd /home/svn
# mkdir myProject
# chown -R root:subversion myProject
# chmod -R g+rws myProject
# svnadmin create /home/svn/myProject
# chmod 700 /home/svn/myProject
myProject 目录:
- |-- conf/
- |-- db/
- |-- format
- |-- hooks/
- |-- locks/
- `-- README.txt
3)修改权限
位于/home/svn/myProject/conf/文件夹下的authz、passwd、svnserve.conf文件
svnserve.conf:svn服务配置文件,该文件版本库目录的conf目录下。
passwd:用户名口令文件,该文件名在文件svnserve.conf中指定,缺省为同目录下的。
authz:权限配置文件,该文件名也在文件svnserve.conf中指定,缺省为同目录下的。
个人使用,修改权限为匿名用户有修改权限。
# vim /conf/svnserve.conf
- anon-access = read
- 改为
- anon-access = write
如果需要为不同用户设置权限如下:
(1)设置svnserve.conf
# vim svnserve.conf
取消一下四行的注释
anon-access = read
auth-access = write
password-db = password
authz-db = authz
并将anon-access = read的read改为none,禁止匿名用户访问。
(2)设置passwd
# vim passwd
[users]
admin = admin
user = user
设置两个用户admin和user
(3)设置authz
# vim authz
[groups]
admin = admin
user = user
[/]
@admin=rw
*=r
admin属于admin组,具有读写权限;
user用户属于user组,具有读权限。
4)启动svn服务
# svnserve -d -r /home/svn
测试:
# svn info svn://192.168.1.11/myProject // IP后面直接跟项目名字
5)加入项目代码
# svn mkdir svn://192.168.1.11/myProject/{trunk,tags,branches} -m "trunk tags branches"
# svn import your_sourcecode_path svn://192.168.1.11/myProject/trunk/ -m "your_log"
完成后sourcecode下所有的文件(不包括soucecode文件夹)都会导入到trunk文件夹下。这样trunk就相当于原来的sourcecode的文件夹了。
6) 导出
#svn co svn://192.168.1.11/myProject/trunk
参考:
http://blog.youkuaiyun.com/gavin_dinggengjia/article/details/7558635
http://blog.chinaunix.net/uid-21880738-id-1813152.html