SVN那些事

因为公司最近新上项目,以前的框架也是年久失修,因此打算用最近最火的架构来作这个项目。html

很不幸的是,因为公司资源有限,让我对这个项目的架构进行设计。这固然是一个很好的机会,但是对于我来讲,也没有太多的把握。做为的一个初级程序员,我感到压力山大,且行且珍惜吧。linux

好的,话很少说,言归正传,从svn开始吧。程序员

一、win7安装svn并使用命令行方式操做svnwindows

我下载的windows的版本,人说99%的公司的svn都搭建在linux服务器上,咱们公司就是那1%。由于linux要比window要快不少倍。服务器

下载安装,找到bin目录,配置环境变量。svn是个服务,因此咱们要启动这个服务。架构

首先建立f:/svn/root 做为使用svn服务的项目的全部的根目录。框架

在win console下,输入netstat -a,发现没有3690这个端口号,说明svn没有启动。eclipse

输入svnserve -d -r d:/svn/root 启动svn服务svn

-d表示后台运行,在win下不起做用,在linux必须加测试

-r表示svn根路径,之后全部的项目须要用svn服务的都往里面放。

咱们发现这样是能够启动svn服务,可是万一这个console窗口关闭了,svn服务也就关闭了。

因此,须要将这个svn服务加到win服务中去,在console中输入:

使用sc create命令加入服务,sc create SVNServer binPath= "E:\Subversion\bin\svnserve --service -r f:/svn/root" 注意必定要用管理员身份运行cmd.exe, 否则win7 win8会报错。

此时,执行services.msc查看服务,并启动

假设,咱们在root目录下建立一个项目教oa,进入F:\svn\root目录,输入svnadmin create oa 建立工厂

而后项目经理建立好项目,将项目导入到oa工厂中 svn import -m "oa first" oa svn://localhost/oa 这是会产生认证失败,咱们没有输入任何用户名和密码,进入F:\svn\root\oa\conf目录,咱们创建的工厂目录,打开svnserve.conf将anon-access = read解除注释并修改成anon-access = write让匿名用户也能够写,这是为了方便测试而作得修改,真实生产环境须要建立用户以及配置权限。

开发人员检出项目, svn checkout svn://localhost/oa

提交项目,进入该项目目录, svn commit -m "the first commt"便可提交。

而后,其余开发人员只要checkout以后就能够经过svn update来更新新的版本。

上面是使用,命令行的方式实现svn项目的管理,其中包含import、checkout、commit、update等动做。

通常状况下,会使用插件来实现以上功能,好比TortoiseSVN。

二、为svn配置权限

svn的密码与权限配置,在conf目录中,conf/svnserve.conf、conf/authz、conf/passwd

authz用来控制用户能读、能写哪些文件

passwd为每一个用户设置用户名和密码

svnserve svn的配置文件

svnserve应该如何配置?

anon-access = none 匿名用户什么都不能作,不作这个配置匿名用户能够更新

auth-access = write受权用户可写,比可读权限高

password-db = xxxx 开启密码功能

authz-db = authz 开启权限控制

passwd如何配置?好比,这里咱们有4个用户,wp、zy、lx、dd

authz如何配置?@引用用户组 *匹配全部 &引用别名 直接用名字就单个名字 r读 w写

[groups] // 建立用户组
g_admin = wp
g_code = lx
g_ui = dd,zy

[/]
@g_admin = rw
* = r

[/ui/js]
zy = rw

[/ui/html]
dd =  rw

[/code]
lx = rw

基本的配置就这些。

三、eclipse集成svn

下载site-1.8.16.zip 打开eclipse->help->Install New software将下载好的zip导入便可。

相关文章
相关标签/搜索