九月 4th, 2010 @ 3:16 下午 

用SVN来保存代码是非常好的方案,一方面可以很好的保存好写过的代码(不用担心误操作把代码搞没了或乱了),另一方面可以进行多人协作,是个很好的团队开发协作平台。
本人此次研究SVN的目的比较简单,就是想做个人的代码仓库,方便对自己的代码进行管理。切入正题。

参考文献:svn-book

安装SVN:

1
$sudo apt-get install subversion


SVN目前版本支持两种数据保存方式,BDB和FSFS.前者是Berkeley DB,利用Berkeley DB数据库系统实现版本控制.后者通常发音”fuzz-fuzz”是通过文件系统实现的.在svn-book当中对两种实现方式进行了多方面的比较。FSFS储存方式比较灵活,可移植性好,但有些方面会比BDB式的慢。出于移植方面的因素,我决定使用FSFS进行数据存储。

1.创建库

1
2
3
$ # Create a repository
$ svnadmin create /var/svn/my_repos
$

my_repos是要创建的版本库名
这样就创建好了一个库。
注:SVN 1.2版本之后默认不加参数就是创建FSFS文件存储模式,也可以写成下面这样选择用FSFS或dbd来进行版本存储

1
2
3
4
5
6
7
$ # Create an FSFS-backed repository
$ svnadmin create --fs-type fsfs /var/svn/my_repos
$

$ # Create a Berkeley-DB-backed repository
$ svnadmin create --fs-type bdb /var/svn/my_repos
$

创建好后在my_repos/hooks/下的许多文件

1
2
3
4
5
$ ls my_repos/hooks/
post-commit.tmpl post-unlock.tmpl pre-revprop-change.tmpl
post-lock.tmpl pre-commit.tmpl pre-unlock.tmpl
post-revprop-change.tmpl pre-lock.tmpl start-commit.tmpl
$

以上是执行相应操作而响应的脚本文件,如果有想法和能力的话可以修改和替换这些脚本,来实现自己想得到的事件操作。

2.配置启动服务器

作为守护进程启动(svnserve as daemon)

1
2
3
4
5
6
sudo groupadd subversion
sudo chrown -R Sunny:subversion svn

$svnserve -d  #库地址 svn://localhost/var/svn/my_repos
#或者如下
$svnserve -d -r /var/svn  #库地址 svn://localhost/my_repos

Sunny是我的用户名

3.配置用户权限

/var/svn/my_repos/conf/svnserve.conf

1
2
3
[general]
password-db = userfile
realm = My first repository

第一个userfile是用来存储授权用户信息的文件名
格式如下:

1
2
3
4
[users]
name1 = password1
name2 = password2
...

第二个realm用来给用户显示验证域,就是用来描述userfile组的一段文字
 
 

写在后面:

因为直接查看的官方英文pdf文档,以上内容的学习和操作花了我大概三天的时间,过程中搜索了一些中文教程,之后才发现网上本来就有很多中文教程和很多大虾的文章,感觉有点得不偿失。
另外SVN搭建过程当中很多问题都是因为自己对linux的了解不够透彻,比如用户,组,权限这一类的东西,这个版本库现在能用了,下一步就恶补linux和c++。。

作者: Sunny
原创文章: 转载请注明出自 Sunny Way.
最后编辑: 九月 4th, 2010 @ 03:18 下午
Email永久链接
Tags
标签: , , , ,
分类: SVN


 

这篇日志的回复 » (回复数 2)

 
发表回复

提示: 您可以使用以下标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tags
Comment Meta:
回复RSS
引用URI


 最近 50 篇日志
 后退
切换主题...
  • 访问 » 8663
  • 日志 » 59
  • 回复 » 77
切换主题...
  • VoidVoid
  • LifeLife
  • EarthEarth
  • WindWind « Default
  • WaterWater
  • FireFire
  • LightLight

留言板



    No Child Pages.