基于独立服务器SVNServer配置


一、服务端

1、安装Subversion及TortoiseSVN

把svn-win32-1.8.3解压缩至E盘根目录,安装TortoiseSVN至E盘根目录。

将E:\svn-win32-1.8.3\bin添加到环境变量Path

2、创建版本库

新建文件夹E:\VersionLib作为版本库目录,创建一个项目版本目录TestSVN,对其右击->TortoiseSVN ->Createrepository here,即此项目目录为E:\VersionLib\TestSVN。

3、配置用户及权限

打开E:\VersionLib\TestSVN\conf\svnserve.conf,并将其中的

[general]

anon-access = none          #匿名访问控制

auth-access = write           #认证用户的权限

password-db = passwd        #用户名密码存放文件

realm = My First Repository    #版本库根目录名称

前面的 # 号去掉,然后去掉他前面的空格。保存。这里的意思是:anon-access 指匿名访问的权限,可以是read,write,none,默认为read,这个建议配为none;auth-access 指认证用户的权限,可以是read,write,none,默认为write;password-db 指密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码,username=passwd。

修改 passwd 文件,去掉 [users] 前面的 #, 否则 svn 只能以匿名用户登录,客户端不会出现登录窗口,除非你的 anon 不为 none, 否则将返回一个错误。

添加用户名和密码 username=password 

  

4、运行SVN服务器

A、对于单个代码版本库

启动命令svnserve -d -rE:\VersionLib\TestSVN --listen-host 172.16.100.25,其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn:// 172.16.100.25来访问了。

B、对于多个代码版本库

若版本库里有两个项目E:\VersionLib\supmax800和E:\VersionLib\supmax2000,则输入命令svnserve –d –rE:\VersionLib –listen-host 172.16.100.25。

中分别Chekout更新

 

我们可以用 ps aux|grep svnserv 来查看是否存在 svnserve 进程。

C、创建成为系统服务

sc create svnservebinPath= "/"D:/Program Files/Subversion/bin/svnserve.exe/"--service --root D:/服务根目录" displayname= "SubversionRepository" depend= Tcpip start= auto

5、初始化导入

将桌面文件夹SP右击->TortoiseSVN->Import…,输入地址E:\VersionLib\TestSVN,写好备注信息,点击OK。右击文件夹-> TortoiseSVN ->Repo-browser可以浏览导入的文件。

6、修改日志记录及邮件通知功能配置

解压UnxUpdates.zip和blat311_32.full.zip,将两者的所有.exe可执行文件复制到E:\svn-win32-1.8.3\bin下,即在拥有了Linux下部分shell命令。

将下面批处理脚本复制到post-commit.bat里面,然后把post-commit.bat放入SVN版本库的hooks下面。

 

@echo on

rem 获取hooks目录和版本库目录

set REPOS=%1

set REV=%2

rem 产生随机数,作为日志的文件名

set RD=%RANDOM%

rem 你的邮件的用户名(mail_user)和密码(pass)

set mail_user=swair_fang

set passwd=xxxxxx

svnlook info %REPOS%                             >C:\SVNmail\INFO_%RD%.txt

svnlook changed %REPOS%                          > C:\SVNmail\CHG_%RD%.txt

sed -e "1"p -n C:\SVNmail\INFO_%RD%.txt     > C:\SVNmail\temp.txt&&for/f  %%i in (C:\SVNmail\temp.txt) do  set

user=%%i

sed -e "2"p -n C:\SVNmail\INFO_%RD%.txt     > C:\SVNmail\temp.txt&&for/f  %%i in (C:\SVNmail\temp.txt) do  set

dtime=%%i

sed -e "4"p -n C:\SVNmail\INFO_%RD%.txt     > C:\SVNmail\temp.txt&&for /f"tokens=*" %%i in (C:\SVNmail\temp.txt)

do  set LOG_MSG=%%i

echo   Dear Sir/Madom:                                               >> C:\SVNmail\MSG_%RD%.txt

echo       当前提交的版本号是:%REV%                                   >>C:\SVNmail\MSG_%RD%.txt

echo       提交时间:%date:~0,10% %time:~0,8%                         >>C:\SVNmail\MSG_%RD%.txt

echo       提交日志:%LOG_MSG%                                       >> C:\SVNmail\MSG_%RD%.txt

echo    =============最新内容=============                            >>C:\SVNmail\MSG_%RD%.txt

type    C:\%SVNmaillib%\CHG_%RD%.txt                                 >>C:\SVNmail\MSG_%RD%.txt

echo   ================================================              >> C:\SVNmail\MSG_%RD%.txt

echo     %user%  >> C:\SVNmail\MSG_%RD%.txt

echo     %dtime% >>C:\SVNmail\MSG_%RD%.txt

type  C:\SVNmail\scm.txt>>  C:\SVNmail\MSG_%RD%.txt

blat C:\SVNmail\MSG_%RD%.txt -to swair@qq.com -cc swair@qq.com-base64 -charset Gb2312 -subject "SVN库当前提交情况

,提交者:%user%SVN当前版本号:%REV%"  -serversmtp.126.com -f swair_fang@126.com  -u%mail_user% -pw %passwd%

 

注意:新建C:\svnemail目录作为版本库修改日志,-to是收件人,-cc是抄送人。在svnemail文件夹里面手动新建一个scm.txt文件。

二、客户端

1、客户端基本操作

客户端安装好TortoiseSVN。在任意目录建个空目录Test,右击->SVN Checkout,输入地址svn://172.16.100.25,然后输入用户名密码,点击OK,便可得到一份Copy。

修改里面任意文件后,右击修改过的文件->SVN Commit…就把修改后的文件提交到了版本库。点击SVN Update…就把版本库中的文件更新到本文件目录中。

在修改后的文件上右击->TortoiseSVN->ShowLog就可以看到文件的修改日志,选中不同条目右击->Compare with working copy就可以比较版本之间的区别。

 

     2、指定项目版本下载

右击你的文件夹,右击->TortoiseSVN->Update torevision…,选择Update Depth栏目中Choose items…,然后对要下载的版本打勾,点击OK即可。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
服务器subversion跟客户端tortioseSVN服务器上已经有了, 下边是如果再把我的目录加上去. 首先要创建个版本库(resposity)加权限~~~~~~~~~~ 在目录如E:\repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。 resposity 目录,里边conf子目录下面有两个文件是控制用户权限的. 修改svnserve.conf: # [general] # password-db = passwd 改为: [general] password-db = passwd 然后修改同目录的passwd文件,去掉下面三行的注释: # [users] # harry = harryssecret # sally = sallyssecret 最后变成: [users] harry = harryssecret sally = sallyssecret 其次是运行svn服务器~~~~~~~~~~ 在cmd下运行 svnserve -d -r E:\repository 我们的服务器程序就已经启动了。 注意不要关闭命令行窗口,关闭窗口也会把svnserve停止。 之后到初始化导入~~~~~~~~~~ 来到我们想要导入的项目根目录,如E:\Project,目录下有一个readme.txt文件: 右键->TortoiseSVN->Import... URL of repository输入“svn://localhost/” ok 完成之后目录没有任何变化,如果没有报错,数据就已经全部导入到了我们刚才定义的版本库中。 需要注意的是,这一步操作可以完全在另一台安装了TortoiseSVN的主机上进行,即在另一台客户端咯。 如运行svnserve的主机的IP是192.168.1.40,则URL部分输入的内容就是“svn://192.168.1.40/” 导入完之后,其他机子只要装上Tortiose svn,之后url上边输入svn://192.168.1.40/就可以checkout咯. 之后用法也很简单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值