当前位置: 首页 > news >正文

svn服务器的搭建

subversion是优秀的版本管理工具,下面简单介绍svn服务器和客户端的下载、安装、搭建以及使用


一:下载svn服务器和客户端

1:下载地址
服务器下载地址:http://subversion.apache.org/packages.html 

客户端下载地址:http://tortoisesvn.net/downloads.html 

2:下载服务器

  a:在页面最下面,找到windows对应的版本

  b:进入下载页

3:下载客户端

  a:找到对应版本

  b:进入下载页

4:下载完成后,得到如下两个安装文件

 

 

二:安装服务器

1:双击安装文件

2:安装过程中只截部分图片,很简单

3:完成

服务器安装完成后,会自动将subversion的路径添加到环境变量,可以在命令行窗口测试安装是否成功

运行——cmd——svn --verion,出现如下信息,说明安装成功。

 

 

三:安装客户端

1:双击运行安装程序,next,修改安装路径

2:安装

3:完成!

4:验证安装是否成功

在空白处右键,如果出现如下菜单,则说明客户端安装成功

 

 

四:创建版本库,并且导入项目

1:配置版本库

安装完成后,就要进行配置,首先要设置根目录,用来存放以后要提交的项目,创建版本库(存储仓库,相当于数据库的作用),

创建F:\svnrepository

2:启动svn服务

到目前为止,服务器还是处于没有启动的状态,启动svn服务有两种方式。

1):启动方式一

直接在命令行输入: svnserve -d -r  F:\svnrepository,如果没有报错,就说明启动成功了!

(图片中d:\svn\root 改为 F:\svnrepository

这里有两种验证方式:

验证一:

svn服务的默认端口是3690,我们可以命令行 telnet 这个端口,如果能通,就说明启动:

telnet localhost 3690 

启动成功!

验证二:

直接查看那个应用程序占用了3690端口

a:查看3690端口的进程号PID

b:根据PID查看应用程序

svn服务已经启动!

缺点:但是这种启动方式有一个缺点,就是关闭命令窗口后,服务就停止了。这就很麻烦,每次想用就要手动

启动,那么服务器所在电脑每天上班就要启动svn脚本,所有就有了第二种启动方式。

2):启动方式二

将svn服务器添加到windows服务中,实现开机自启

 命令行窗口输入如下命令

sc create svnserve binPath= "D:\Subversion\bin\svnserve.exe  -r  F:\svnrepository  --service"

服务创建成功!

可以在服务窗口查看:

注意:

a:创建windows服务需要有管理员权限

b:如果服务创建错误,可以在命令行删除  sc delete 服务名称;

c:sc create 服务名称  :创建服务

d:binPath:命令所在目录     -r:根目录   --service :该服务像windows服务一下启动、停止、暂停等操作。

3:生成版本库

F:\svnrepository目录下输入如下命令,创建目录trunk

trunk目录结构:

conf目录下有三个文件authz、passwd、svnserve.conf

authz:定义权限,那些人可以read,write

passwd:定义用户名和密码,访问权限

svnserve.conf:对读写权限进行设置

4:导入版本库

在D:\workspace\HealCare目录下,有一个项目HealCare

在项目上面右键TortoiseSVN——import导入,这是会报错

是因为我这是匿名导入,所以要给匿名用户开放权限write的权限

anon-access = read      read:只有读的权限,可以拉代码,但是不可以上传代码
auth-access = write     write:既可以拉代码,又可以上传代码。

所以要把anon-access = write的权限。

导入成功!

相关文章:

  • Atitit.获取某个服务 网络邻居列表 解决方案
  • 通过Android源代码分析startActivity()过程(下)
  • 转:MyBatis学习总结(Mybatis总结精华文章)
  • 【LINUX 学习】使用find和xargs[转摘自《shell编程和unix命令》]
  • 关于PowerBuilder 9.0中如何修改项目工程名字
  • MapReduce实现TopK
  • toolBar和toolBarItem的定制
  • WebService学习总结(2)——WebService是什么?
  • centos7 下的 KVM
  • subline的node.js安装和快捷键
  • 新建文件夹及其他
  • 简单实现图片验证码
  • 进度条工具类
  • ajax跨域处理办法
  • ntfs文件系统原理
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 2017届校招提前批面试回顾
  • 230. Kth Smallest Element in a BST
  • Javascript设计模式学习之Observer(观察者)模式
  • js写一个简单的选项卡
  • React 快速上手 - 07 前端路由 react-router
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • TypeScript迭代器
  • webpack入门学习手记(二)
  • 订阅Forge Viewer所有的事件
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 网络应用优化——时延与带宽
  • 小程序01:wepy框架整合iview webapp UI
  • 如何正确理解,内页权重高于首页?
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • #预处理和函数的对比以及条件编译
  • $NOIp2018$劝退记
  • (1)(1.11) SiK Radio v2(一)
  • (1)(1.13) SiK无线电高级配置(六)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (6)添加vue-cookie
  • (Java数据结构)ArrayList
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (汇总)os模块以及shutil模块对文件的操作
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (一)kafka实战——kafka源码编译启动
  • (一)RocketMQ初步认识
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (转)Scala的“=”符号简介
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .NET gRPC 和RESTful简单对比
  • .NET 命令行参数包含应用程序路径吗?
  • .NetCore部署微服务(二)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .Net下使用 Geb.Video.FFMPEG 操作视频文件