ubuntu配置svnserve
蛮喜欢在linux上做开发的,最大的梦想就是什么时候能给像vim gcc 这些伟大的开源软件奉献几行自己的代码,为boost奉献几行也行。。。。
与linux相关的开源世界里充满了乐趣,这里集中这世界上最优秀的程序员们
Simple is Everything!
svn服务器有三种类型,最简单的是svnserve,然后是使用SSH通道的svnserve,最复杂的是svn+apache+http的方式。
svnserve是一个轻型的服务器,可以同客户端通过在TCP/IP基础上的自定义有状态协议通讯,客户端通过使用开头为svn://
或者svn+ssh://
svnserve的URL来访问一个svnserve服务器。
1,安装svn
sudo apt-get install subversion
2,安装ok后,为你的svn建立工作目录
sudo mkdir -p svn
3,建立版本库
sudo svnadmin create myproject
这个命令创建了一个新目录/path/to/repos
,并在其中创建了一个Subversion版本库。这个目录里主要保存了一些数据库文件(还有其它一些文件)
4,修改配置文件svnserve.conf
anon_access = none #匿名用户无法访问
auth_access = write #授权用户可写
password_db = password #用密码文件password控制权限
auth_db = authz #访问控制文件
5,配置password文件
加入 username = pwd
以上建立了两个用户cobing和codd,他们的密码分别是123456和123。6,启动svn服务
svnserve -d -T -r rootdir
其中 -d 表示把进程svnserve作为守护进程在后台运行
-T 表示用多线程的方式处理数据
-r
可以有效地改变文件系统的根位置,客户端可以使用去掉前半部分的路径,留下的要短一些的(更加有提示性)URL
在服务器端启动svnserve进程,指定的根目录是/root/svn/repos
7,添加svnserve到系统启动文件中,使得系统开机后自动启动svn服务,这个文件是/etc/rc.local
在exit 0 前面添加 svnserve -d -T -r /root/svn
至此,svn服务器搭建完成,当然更多的配置要用到svnadmin命令,可以查看相关的用户手册
客户做什么呢?
简单地说说
1,建立新文件
2,提交文件或者文件夹到svn服务器
svn import 要提交的文件 svn服务器
以上代码将目录myproject中的文件导入到svn服务器版本库中并添加了日志”import init“3,要开始使用版本库数据,我们还要创建一个新的用于存储数据的“工作拷贝”,这是一个私有工作区。
现在myproject
目录下生成了一个版本库数据的独立拷贝。我们可以在这个工作拷贝中编辑文件,并将修改提交到版本库中。
更复杂的操作参考相关的参考手册