SVN服务器创建及使用

转自:http://blog.csdn.net/kupepoem/article/details/8139908

 

软件环境:win7系统

 

       我以前管理文档文件都是复制、备份、粘贴的方式,如果文档这方面的工作比较少还好,如果多了就感觉比较费时间。有时我的某一个文档有好几个备份,自己都搞晕了。所以要找一个工具来管理,SVN是首选。

1、SNV简要介绍

svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。

运行方式  

svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊,用户自行选择。

存储数据  

svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

2、我的选择

我因为是单机的,基本就是自己管理自己的文档,所以,运行方式选择独立服务器方式,存储数据采用FSFS(一种不需要数据库的存储系统)方式。

3、文件下载与安装

svn服务器下载:我下载的是WANdisco Subversion 1.7.6,感觉这个版本比较好,有个win32svn版本用了有些问题,说找不到dll什么的,很奇怪的。建议WANdisco Subversion这个版本

下载链接:http://www.wandisco.com/ubersvn/download?quicktabs_os=windows#windows

客户端:TortoiseSVN就行,网上找下就ok。我版本是TortoiseSVN 1.6.5

把服务器和客户端都装上吧。

 

4、服务器基本设置

(1)创建SVN储存库(repository1)

运行CMD

cd D:\Program Files\WANdisco\Subversion

svnadmin create F:\svntest\repository1  --fs-type fsfs

(别忘了存储方式:FSFS一种不需要数据库的存储系统)。)

 

       这样会在F:\svntest\repository1,产生一些文件。conf目录是存储权限相关文件的目录;db目录就是所有版本控制的数据文件;hooks目录放置hook脚本文件的目录;locks用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号;

(2)配置SVN服务器

 

打开F:\svntest\repository1\conf目录,打开svnserve.conf找到一下几句:

注意:如果在myeclipse的svn无法登录用户提交,那就把 anon-access = read改成write。使用匿名读写

[general]

# password-db = passwd

# anon-access = read

# auth-access = write

去之每行开头的#,并把read改为none,其中第二行是指定身份验证的文件名,即passwd文件。anon-access = none 意思是匿名用户不能访问,必须要有用户名和密码。(注意:问题就出在这,一定要注意格式去掉注释后要顶格不能有空)

 

SVN服务器创建及使用_第1张图片

 

同样打开passwd文件,将

# [users]

# harry = harryssecret

# sally = sallyssecret

格式为“用户名 = 密码”,如可插入一行:admin = admin222,即为系统添加一个用户名为admin,密码为admin222的用户

SVN服务器创建及使用_第2张图片

 

(3)运行SVN服务器

运行CMD

cd D:\Program Files\WANdisco\Subversion

svnserve --daemon --root F:\svntest\repository1

服务启动,--daemon可简写为-d,--root可简写为-r(注意:这是临时打开的服务,命令执行后不能关闭窗口)。

可以建立一个批处理文件并放在windows启动组中便于开机就运行SVN服务或者创建一个svnservice服务(下面会讲到如何创建svnservice服务)

 

(4)初始化导入
   打开
"我的电脑",在你需要进行版本控制的目录上右击,选择TortoiseSVN,再选择子菜单"Import..."

SVN服务器创建及使用_第3张图片

 

设置"文件库url"svn://localhost//svntest/repository1

SVN服务器创建及使用_第4张图片

 

点确定后就会提示文件正在导入。

 

SVN服务器创建及使用_第5张图片

 

需要注意的是,这里是svn文件库与svn服务是同一台计算机的情况,所以可用localhost,其它机器如果要访问svn服务,应该用svn://svn服务器的IP地址,例如svn://192.168.1.125//svntest/repository1。(这个我还正没试过,大家可以试试,哈哈!)

 

5、文件check out

桌面单击右键,选择SVN Checkout...菜单

SVN服务器创建及使用_第6张图片

设置svn目录和check out目录

SVN服务器创建及使用_第7张图片

SVN服务器创建及使用_第8张图片

导出后,看看导出目录吧!

SVN服务器创建及使用_第9张图片

这样就可以修改文件内容,然后再SVN commit了。我们就可以在这个目录上进行工作。

 

6、文件导出(不能commit,只是把文件导出)

在桌面单击右键,选择TortoiseSVN,再选择子菜单"Export..."

SVN服务器创建及使用_第10张图片

填写svn目录和导出目录

SVN服务器创建及使用_第11张图片

点击ok

SVN服务器创建及使用_第12张图片

 

7、安装svnservice

在Windows NT中(包括Windows XP, Windows 2000, Windows 2003 Server)本身包含了一个安装服务的工具,叫做"Service Control",也就是sc.exe。

 

创建服务:

运行cmd

输入:sc create svnservice binpath= "D:\Program Files\WANdisco\Subversion\svnserve.exe --service -r F:\svntest\repository1" displayname= "SVNService" depend= Tcpip start=auto

删除服务:

如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。

 

8、SVN多项目管理

建议每个项目建一个库

在server端,新建一个目录用来存放所有的仓库。比如F:\svntest。然后在这个目录下建立每个项目独立

svnadmin create F:\svntest\repository1 --fs-type fsfs


svnadmin create F:\svntest\repository2 --fs-type fsfs

使用 svnserve -d -r  F:\svntest\repository1启动。这样你的项目的url是:
svn://IP(本地可为localhost)/repository1

使用 svnserve -d -r  F:\svntest\repository2 启动。这样你的项目的url是:
svn://IP(本地客位localhost)/repository2

使用仓库浏览器查看导入的效果:

在桌面单击右键

SVN服务器创建及使用_第13张图片

输入URL:

 SVN服务器创建及使用_第14张图片

看看我们仓库的样子吧,哈哈!

SVN服务器创建及使用_第15张图片

你可能感兴趣的:(SVN)