zoukankan      html  css  js  c++  java
  • windows 搭建 subversion+TortoiseSVN

    1、版本

    (a)Apache 2.2.25:httpd-2.2.25-win32-x86-no_ssl.msi

    (b)Subversion:Setup-Subversion-1.8.5.msi

    (c)TortoiseSVN:TortoiseSVN-1.8.4.24972-win32-svn-1.8.5.msi

    注意版本的匹配。

    2、安装

    服务器端需要安装a、b、c。

    安装目录: a:C:Program FilesApache Software Foundation

          b:F:Subversion

          c:F:TortoiseSVN

    客户端需要安装c。

    3、建立版本库(Repository) 

    首先建立 e:svn 空文件夹作为所有版本库的根目录。

    然后,进入命令行并切换到subversion的bin目录。输入如下命令: 
    svnadmin create E:svn epos1 
    此命令在 E:svn 下建立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件。 

    也可以使用 TortoiseSVN 图形化的完成这一步: 
    先建立空目录 E:svn epos1 ,注意一定是要空的。

    然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。 

    4、运行独立服务器

    此时 subversion 服务还没有开始,只是通过它的命令建立了版本库。继续在刚才的命令窗口输入: 
    svnserve.exe –daemon 
    svnserve 将会在端口 3690 等待请求,

    --daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止。 

    为了验证svnserve正常工作,使用TortoiseSVN -> Repo-browser 来查看版本库。在弹出的 URL 对话框中输入: 
    svn://localhost/svn/repo1 
    点 OK 按钮后就可以看见 repo1 版本库的目录树结构了,只不过这时 repo1 是个空库。 

    你也可以使用--root选项设置根位置来限制服务器的访问目录,从而增加安全性和节约输入svnserve URL的时间: 
    svnserve.exe --daemon --root drive:path o epository 
    以前面的测试作为例,svnserve将会运行为: 
    svnserve.exe --daemon --root e:svn

    (svnserve.exe --daemon --root F:svn )
    然后TortoiseSVN中的版本库浏览器URL缩减为: 
    svn://localhost/repo1 

    建议你到控制面板-管理工具-服务中找到SVNService,右击选择"属性",再将其启动类型设置为"自动",这样每次开机自动启动服务,不用手动启动了。如果没有这项服务的话,在命令行输入

    C:Documents and SettingsAdministrator>sc create svnserver binPath= "C:Program FilesSubversioninsvnserve.exe --service -r e:Repository" DisplayName= "subversion" depend= Tcpip start= auto

    [SC] CreateService 成功

    sc create svnserver binPath= "服务全名 --service -r 资源库位置 "DisplayName="服务名" depend= 协议 start= 自动

    创建autoRunSVN.bat文件,内容是:

    sc create SVNServer binpath= ""C:Program FilesSubversioninsvnserve.exe" --service -r d:svn" displayname= "SVNService" depend= Tcpip start= auto
    pause

    【注意】“=”前没有空格,之后必须有一个空格!

    sc 知识点:

    (1)sc是windows自带的服务配置程序,MySVNServer 是服务的名称。

    (2)参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成" 。
    (3)--service 参数表示以windows服务的形式运行,--r指明svn repository的位置,service参数与r参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。

    (4)displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。安装服务后,svnserve要等下次开机时才会自动运行。 (5)binPath的等号前面无空格,等号后面有空格 displayname depend start也都一样
    service前面是--,不是- ,而r前面是-
    (6)若要卸载svn服务,则执行 sc delete svnserve 即可。

    (7)从“sc”到“auto”是在同一个命令sc,必须写在同一行。

    创建成功后,可以在运行中键入service.msc察看系统服务,找到SVNService项,查看这项服务的属性,可以使用Windows提供的界面操作SVNService服务了。
    (8)命令操作

    启动服务:

    C:>net start svnservice
    SVNService 服务正在启动 .
    SVNService 服务已经启动成功。

    停止服务:
    C:>net stop svnservice
    SVNService 服务正在停止.
    SVNService 服务已成功停止。

    删除创建的服务
    C:>sc delete svn svnservice

    5、权限设置

    见我的另一博文。

    6、初始化导入

    下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。 
    比如,我在 d:wwwroot 下有个 guestbook 文件夹,里面存放的是我编写的留言簿程序。

    在此文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/repos1/guestbook”。在“Import message”输入“导入整个留言簿”作为注释。 
    点 OK 后要求输入帐号。我们在用户名和密码处都输入 test 。完成后 guestbook 中的内容全部导入到了 svn://localhost/svn/repo1/guestbook 。 
    我们看到在 e:svn epo1 没有任何变化,连个 guestbook 文件夹都没有建立,唯一的变化就是e:svn epo1容量变大了。实际上我们源guestbook中的内容已经导入 repo1 版本库了,源 guestbook 文件夹可以删除了。 

    需要注意的是,这一步操作可以完全在另一台安装了 TortoiseSVN 的客户机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是“svn://133.96.121.22” 。 

    7、svn操作

    可参考svn手册

  • 相关阅读:
    js中的字符串,以及ES5新增的字符串方法
    数组排序,数组去重(扩展运算符),ES5中数组新增的几个方法
    js中的对象(object:对象和数组)以及对象的常用方法
    http与https
    TCP的三次握手四次挥手
    前后端分离与不分离
    了解一下express中间件的意思以及next()
    Java堆,栈,堆栈
    Java构造器与new关键字
    命令行连接db2数据库
  • 原文地址:https://www.cnblogs.com/perfy/p/3508207.html
Copyright © 2011-2022 走看看