SVN服务器端配置说明

 

一个Subversion的版本库可以和客户端同时运行在同一个机器上,使用file:///访问,但是一个典型的Subversion设置应该包括一个单独的服务器,可以被办公室的所有客户端访问—或者有可能是整个世界。

理论上讲,Subversion可以使用无限数量的网络协议实现,目前实践中只有两种服务器。
Apache是最流行的web服务器,通过使用mod_dav_svn模块,Apache可以访问版本库,并且可以使客户端使用HTTP的扩展协议WebDAV/DeltaV进行访问,因为Apache是一个非常易于扩展的web服务器,它提供了许多“易于获取的”特性,例如加密的SSL通讯,日志和与第三方工具的集成,以及内置的版本库web浏览功能。

在另一个角落是svnserve:一个更小,轻型的服务器程序,同客户端使用自定义的协议。因为协议是为Subversion专门设计的,并且是有状态的(不像HTTP),它提供了更快的网络操作—但也有一些代价。它只理解CRAM-MD5的认证,然而它非常易于配置,是开始使用Subversion的小团队的最佳选择。

 

 

 

服务器端配置说明 1,软件下载 * 下载Subversion服务器程序。 到官方网站 的下载二进制安装文件,目前可以下载svn-1.4.4-setup.exe。 下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 此版本支持Apache2.0.x 2,服务器和客户端安装 * 服务器安装,直接运行svn-1.4.4-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。(由于subversion已有自带的svnserver服务器,如果需要使用Apache服务器的特性则再将其集成到apache上即可,此处我们暂时使用它自带的服务器) (注:apache的配置在文档最后边的附录中可以找到) * 安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,为了立刻看到好的效果,还是重新启动机器。 3,建立版本库(Repository) 运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如: svnadmin create E:/svn/sise_repository 就会在目录E:/svn/sise_repository下创建一个版本库。 我们也可以使用TortoiseSVN图形化的完成这一步: 在目录E:/svn/sise_repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。 如图所示: 在弹出的数据仓库类型我们选择默认的FSFS,点击OK。 4,配置用户和权限 1.来到E:/svn/sise_repository/conf目录,修改svnserve.conf: # auth-access = write # password-db = passwd 改为: auth-access = write //通过验证的用户才能有读写的权限 password-db = passwd //验证用户所使用的文件passwd 2.然后修改同目录的passwd文件,去掉下面三行的注释: # [users] # harry = harryssecret # sally = sallyssecret 最后变成: [users] harry = 123456 //以名值的方式存储用户名和密码 “用户名=密码” sally = 654321 3.修改同目录下的authz文件来设置访问权限 在[groups]下创建用户组例如这里是 [groups] Admin=admin Developer=developer1,developer2 以上便创建了两个用户组,分别是admin和developer和其相应的组的成员。 设置访问路径 [/] *=r @admin=rw 如上所示,所有的用户对整个svn目录下的文件都可以读取,admin组有读写的权限(“*”代表所有的用户,r代表读 w代表写) 可设置具体的版本库的访问权限如下: [版本库A:/] @developer=rw 如上设置,表示所有developer组的成员对于“版本库A”下边的所有文件都有读写的权限 5,运行独立服务器 在任意目录下运行:(如果提示找不到svnserve则检查,%Subversion安装目录%/bin是否已添加至环境变量PATH) svnserve -d -r E:/svn/sise_repository/ 我们的服务器程序就已经启动了。 (注:可通过执行 svnserve –help 来得到svnserve的帮助信息) 附:将svnserve安装为系统服务 sc create svnserve binpath= "C:/developertools/Subversion/bin/svnserve.exe --service --root D:/svn/sise_repository" displayname= "Subversion" depend= Tcpip start= auto 另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“/”处理“"”号,例如上面的例子中如果svnserve.exe在“c:/program files/subversion/”中,则命令应该写为“binpath= "/"c:/program files/subversion/bin/svnserve.exe/"”(“”中的内容),整个命令如下,红色部分是改变部分: sc create svnservice binpath= "/" C:/developertools/Subversion/bin/svnserve.exe /" --service -r D:/svnroot" displayname= "Subversion" depend= Tcpip start= auto 其次,sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。 如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字

 

在Source Insight中添加自定义功能的步骤如下:

1.Source Insight中,Options->Custom Commands...->Add...,New Command name 随便写,我的是"Edit with Vim"

2.Run中写入: "C:/Program Files/Vim/vim63/gvim.exe" --remote-silent +%l %f

意思是在当前已经打开的gvim窗口里面打开当前的文件,并且跳转到指定行

%l为当前的行号,%f为文件名

使用 --remote-silent 的作用是,如果已经打开了对应文件,就不会打开第二次,而是在已经打开的文件里跳转到对应行

3.还是同一个对话框里面,选择Keys->Assign New Key...->按F12,如果你已经将F12设置给其他命令,选择其他的按键就行了

下面是一些常用自定义功能:( CUSTOM COMMANDS )

打开资源管理器并选中当前文件

ShellExecute open explorer /e,/select,%f

查看log

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend

diff

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend

取得锁定(check out)

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:lock /path:%f /notempfile /closeonend

提交(check in)

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend

更新(update)

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:update /path:%f /notempfile /closeonend

更新整个目录(update all)

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:update /path:*.* /notempfile /closeonend

取消锁定(undo check out)

"C:/Program Files/TortoiseSVN/bin/TortoiseProc.exe" /command:revert /path:%f /notempfile /closeonend

在ultriEdit中编辑

"C:/Program Files/UltraEdit-32/uedit32" %f

在vim中编辑并定位到当前行

"C:/Program Files/Vim/vim63/gvim.exe" --remote-silent +%l %f

汇总其他小技巧:

让{ 和 } 不缩进:

Options->Document Options->Auto Indent->Indent Open Brace/Indent Close Brace

hao space: SourceInsight 小技巧

1、按住"ctrl", 再用鼠标指向某个变量,点击一下,就能进入这个变量的定义。

2、今天把一个用sourceinsight排版整齐的C文件,偶然用VC打开一看,全乱了。研究了半天,发现SI对每个字符的宽度不太一致。

    请教同事发现选上"view --> draft view", 就可以让每个字符的宽度一致了。快捷键是 "Alt + F12"

3、"shift+F8" 标亮所有文本中光标所在位置的单词

4、跳到某一行:"ctrl + g"

Source Insight是阅读和编写代码的好东东,基本上也算得上是经典之作了,虽然还有一点点小bug,不过对于我们这些C程序员来说可是一旦拥有别无所求。下 列小技巧是在工作中同事整理总结的,对提高工作效率多少有点帮助,其中有些是对应于SVN的,没有使用SVN做版本管理的人就不要白费力气了。

ShellExecute open explorer /e,/select,%f

        /*作用是在资源管理器中打开当前编辑文件并选中*/

        /*可以设置快捷键如ctrl+e,这样能很方便的在资源管理器打开对应的文件,并进行tortoiseSVN的相关操作*/

X:/Progra~1/TortoiseSVN/bin/TortoiseProc.exe /command:log /path:% /notempfile /closeonend

        /*使用前注意更改对应的bin安装路径*/

        /*作用是直接查看当前文件的svn log*/

        /*可以设置快捷键如ctrl+l*/

X:/Progra~1/TortoiseSVN/bin/TortoiseProc.exe /command:diff /path:% /notempfile /closeonend

        /*使用前注意更改对应的bin安装路径*/

        /*作用是直接查看当前文件和基准版本的比较*/

        /*可以设置快捷键如ctrl+d*/

你可能感兴趣的:(apache,SVN,服务器,subversion,web服务,tortoiseSVN)