建立自己的版本控制服务器----SVN(subversion)的初级使用

有过编码经验的人都知道版本控制服务器的重要性。因此虽然公司一般都会提供版本控制服务器,但是那都是为项目准备的。而我们平时可能也会有一些练习的代码,也会有很多修改。所以,建立一个属于自己的版本控制服务器是必要的。

从版权和易用性来看,Subversion(简称SVN)是个很不错的选择。无论是服务端还是客户端都是跨平台的;而且作为cvs的替代者,也解决了cvs存在的一些问题;最重要的一点,它是跨平台的,无论在公司使用还是个人PC上使用,都是无须担忧版权的。除非你要作二次开发,那可能就要考虑以下版权问题了。

因为是作为个人使用,所以我们基本上不需要考虑很复杂的功能,把初级的功能学会就完全可以了。我们这里就只提供安装SVN,创建repository,权限分配,以及基本的客户端使用的一点说明。

服务器端

1. 下载安装

Subversion现在是由apache组织维护,直接到apache的官网上就可以下载。

Windows的可以下载msi文件,exe文件,或者zip文件。我一向喜欢的是绿色软件,所以下载的是zip文件。可以选择for apache版本的,假如以后想提供http/https访问方式的话。

下载后,直接解压缩到自定义的目录,比如说D:/SVN。然后在环境变量中新建[SVN_HOME=D:SVN],在path中添加[;%SVN_HOME%/bin;]。这样就可以在命令行中使用Subversion服务器了。

至于其他操作系统的话,完全可以按照apache官网上的安装指示安装。我的个人PC使用的是ubuntu,所以只要在终端中输入: sudo apt-get install subversion
就可以安装好Subversion服务器了。

如果有兴趣的话,可以直接下载源代码进行编译后再使用。

2. 创建repository

简单的用法,选择一个文件夹作为你的repository的根目录,比如说,D:/svn_repo。

然后在命令行中cd到这个目录,再使用命令[svnadmin create 库名]就可以创建好自己想要建立的库。

例子:
cd D:/svn_repo
svnadmin create test_repo
就创建了一个名字叫做test_repo的库,我们之后就可以在这个库中保存我们的代码,文档之类的东西了。

3. 分配权限

Subversion的库的权限管理是在配置文件中管理的,所以可以通过修改配置文件来完成。这些配置文件都在库的conf目录下,有三个默认文件,分别是:svnserve.conf, passwd, authz。

其中svnserve.conf是总开关,passwd是配置用户名和密码,authz是配置组和权限分配。

把svnserve.conf中的以下四行改成下面的四行。

# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz

anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

其中,第一行是指无认证用户没有任何权限,认证用户有写权限,用户名和密码配置文件是同路径下的passwd,权限认证文件是同路径下的authz。

在passwd中,按如下方式创建用户。"="前面的是用户名,后面的是密码。

[users]
user1=user1
user2=user2
user3=user3
guest=guest

之后,在authz中创建组并分配权限。这里创建了两个组,一个写权限的,一个读权限的。最后的[test_repo:/]部分就是权限分配。其中[ test_repo:/]中的 test_repo是我们创建的repository的名字。这里的权限设置的结果是,g_write组中的用户对整个库有读写权限,而g_read组中的用户对整个库则有读权限。

 

[groups]
g_write=user1,user2,user3
g_read=guest

[test_repo:/]
@g_write=rw
@g_read=r

当然可以针对于库中的具体文件夹进行权限的设置。比如说设置两个文件夹,一个develop,除guest外的所有用户都有权限写,而guest无任何权限。另外一个release,除guest外的所有用户都有权限写,而guest有读权限。

[test_repo:/develop]
@g_write=rw
@g_read=

[test_repo:/release]
@g_write=rw
@g_read=r

这里可以设置权限的不仅仅是组,也可以是用户,如果有需要的话,请参照文件说明就可以了。

 

4. 启动服务器

启动服务器的工作就很简单了,一行命令搞定。

svn -d -r D:/svn_repo

客户端

Subversion是开源跨平台的产品,相应的客户端非常的多。

1. 使用命令行,最通用的方式,系统自带。而且熟记命令的话,也很快捷。这一种也很容易跟脚本结合。

2. 使用专门的界面程序。windows平台上最常用的大概是TortoiseSVN,嵌套在鼠标右键菜单上,用起来非常的方便。

linux系统里可以使用RapidSVN,esvn等。

3. 使用eclipse插件。无论是windows还是linux,做java开发的话,恐怕离不了eclipse。那么直接使用eclipse的SVN插件:Subclipse就可以了。

如果安装前面服务器端安装的目录和启动命令,我们可以使用客户端访问地址:svn://localhost/test_repo就可以作代码checkout,checkin等操作了。

当然,作为一个功能强大的版本控制服务器,Subversion还有很多的功能,如果有需要的话,请直接参照手册。


参考资料: 官方网址:http://subversion.apache.org/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值