VisualSVN的安装使用
1.什么是VisualSVN
VisualSVN Server是集成了Subversion和Apache的一种版本管理工具,它简化了手工配置Subversion的繁琐步骤,安装的时候SVN Server已经封装为Windows Service,Apache服务器的配置也可体现在图形界面上,指定认证方式、访问接口等简单操作,另外用户权限的管理也可以通过图形用户界面来进行配置。VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,它和Visual Studio集成在一起,VisualSVN Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理。
2.VisualSVN的安装
- 首先进入VisualSVN的官方网站下载页面http://www.visualsvn.com/server/download/下载,下载完成之后进行安装,选择版本库存放路径为F:\Repositories
- 利用命令创建版本库的方法与Subversion的方法相同,权限设置的方法也相同。
- 启动VisualSVN Server,打开VisualSVN的图形用户界面,所有的操作均可以在此界面中进行,下面的基本使用中主要以图形界面方式操作。
3.VisualSVN的基本使用
3.1.创建用户
在VisualSVN Server的图形用户界面中,选中Users,点击鼠标右键选择“Create User”:
然后输入需创建的用户的用户名及密码,点击“OK”:
在右侧窗口中会出现创建的用户,可以对其进行修改密码及删除用户操作。
然后我们在版本库目录F:\Repositories下的htpasswd文件中便可查看到此用户的用户名及密码,密码为MD5加密方式。
3.2.创建用户组
在VisualSVN Server的图形用户界面中,选中Groups,点击鼠标右键选择“Create Group”:
在弹出的窗口中输入组名,并点击“Add”添加相应的用户,点击“OK”:
我们在版本库目录F:\Repositories下的groups.conf文件中便可查看到此用户组的所有用户。
3.3.创建版本库
首先启动VisualSVN Server,进入其图形用户界面:
选中Repositories,点击鼠标右键,选择”Create New Repository”:
输入创建的版本库的名称project_visual,点击“下一步”:
然后可以选择创建一个空版本库,也可以选择创建包含trunk、branches、tags的版本库,
此处选中创建一个空的版本库,点击“下一步”:
然后是用户权限管理,可以选择所有用户都不具有权限或所有用户都具有读写权限,也可以选择第三项“Customize pemissions”设置对某个用户或用户组的权限。
当版本库创建成功后,对用户的具体权限设置还可以在版本库目录下的conf中的authz文件中详细设置。
此处选则第三个选项“Customize pemission”设置对用户及用户组的权限:
点击“Customize permissions”按钮,在弹出的窗口中添加已创建好的用户或用户组,或者新创建用户,并设置相应的权限:
此处我们先增加已经存在的group1用户组,并对其设置读写权限,然后再点击Add新增一个test1用户,并对test1用户设置具有只读权限:
点击“确定”,然后再点击“Create”创建版本库。
如下图,提示版本库project_visual创建成功,并告诉我们创建的版本库的名称及以https协议访问此版本库的URL地址:
此时我们便可以在本地下载project_visual版本库的内容了。
在H:\project_svn\project_visual文件夹下下载project_visual版本库的内容,利用TortoiseSVN进行,选择Checkout,输入project_visual版本库的URL地址,点击“OK”后输入用户名和密码即可:
然后便可以在本地下载的工作副本中对版本库进行提交、更新、修改、删除等操作;
同样我们也可以利用VisualSVN自带的https协议访问project_visual版本库:在浏览器中输入URL地址:https://xp-201303251656:8443/svn/project_visual,进入之后输入用户名及密码便可以访问此版本库:
3.4.用户权限设置
利用VisualSVN Server的图形用户界面创建版本库时,包含对用户或用户组的权限设置,但当版本库创建结束后需要修改用户的权限或新增用户时,可以利用如下步骤:
选中project_visual版本库,点击鼠标右键,选择“Properties”:
然后会弹出在之前创建版本库时对各用户的权限设置窗口,此时用户组group1具有可读写权限,包含bumr和test两个用户,而用户test1则只具有可读权限。
现在我们将用户test1的权限更改为可读写权限,并新增加一个test2用户,权限设置为只读。
首先点击“Add”,弹出的窗口如下,点击“Create user”,输入新增的用户test2的用户名及密码,点击“OK”后,对test2设置为只读权限:
然后选择用户test1,将其权限更改为可读写权限:
对各用户和用户组的权限更改后如下:
3.5.新增文件夹
在trunk下新增一个文件夹bin,首先选中project_visual版本库下面的trunk,点击鼠标右键选择“新建”—>“Folder”,输入新增的文件夹的名称bin,点击OK即可。
如下图所示:
3.6.创建trunk/branches/tags
一般一个项目会包含主干(trunk)、分支(branches)和标记(tags),在对一个空的project_visual1版本库一次性创建主干分支与标记三个文件夹时,首先选中project_visual1版本库,点击鼠标右键选择“新建”—>“Project Structre”,输入创建的项目名称,点击OK即可。如下图所示:
创建之后,我们可以在界面中看到一次性创建了trunk、branches、tags三个目录。
3.7.导入存在的版本库
在对一个已经存在的版本库project_visual进行导入时,首先选中Repositories,点击鼠标右键选择“所有任务”—>“Import Existing Repository”,找到需导入的版本库,并输入新版本库的名称project_visual2,点击OK即可:
如下图所示,已经将存在的project_visual版本库导入到SVN中,且版本库project_visual与版本库project_visual2中的内容完全相同。
VisualSVN的安装使用的更多相关文章
- VisualSvn Server安装和使用
原文地址:http://www.cnblogs.com/jiahuafu/archive/2012/12/22/2828955.html VisualSvn Server介绍 1 .VisualSvn ...
- VisualSVN Server安装后,TortoiseSVN远程无法访问版本库。
修正!重演了一遍,发现总结有误,重新整理下.首先访问版本库的路径不清楚的话可以在VisualSVN Server的版本库上右键“Copy URL to Clipboard”.访问版本库失败的几种情况: ...
- visualSVN server安装使用
SVN服务推荐使用visualSVN server,安装完成之后自动设置开机启动服务,具体使用如下图:
- VisualSVN Server 安装
1.去官网下载:https://www.visualsvn.com/server/download/ 2.安装: 修改为后: 3.开机自动启动.
- VIsualSVN server 安装及旧仓库导入
安装参考: 1, http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html SVN服务器搭建和使用(一) Subversi ...
- visualsvn server 安装提示无法启动
需要在服务里面给visualsvn server 用本地账户登陆权限
- VisualSVN Server安装过程
运行VisualSVN-Server-2.7.3.msi程序, 如下图 点击Next, 下一步 选中 I accept选项, 点击Next, 下一步 选择默认配置, 服务和控制台组件方式, 点击 ...
- VS2015+VisualSVN+TortoiseSVN安装及使用
1. SVN 是什么 SVN 是 Apache Subversion 的缩写,是一个开放源代码的版本控制系.这些数据放置在一个中央资料档案库(repository) 中. 这个档案库很像一个普通的文件 ...
- visualSVN server 安装成功,但是无法连接,url打不开
转自:https://www.oschina.net/question/878142_91825 点击开始–>程序->VisualSVN–>VisuaSVN Server Manag ...
随机推荐
- DAY7-面向对象之继承与派生
一.初识继承 什么是继承 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类. 子类会“”遗传”父类的属性,从而解决代 ...
- oracle时间段查询-从00:00:00开始
之所以记录一下这篇博文,是因为前段时间搞的一个查询发现要从00:00:00这个时间段开始,必须要通过拼接字符串. <select id="queryApplyProgressList& ...
- 关于contentprovider的几个问题
说说ContentProvider与Android数据存储的关系? contentprovider是程序之间共享数据的唯一方式,android中没有公共数据区域的说法,每个进程启动都是不同的用户,与P ...
- GUI编程02
1 编写一个导航栏 from tkinter import * root = Tk() root.title("测试") root.geometry("400x400+4 ...
- ubuntu16.04 安装opencv3.4
1.去官网下载opencv,在本教程中选用的时opencv3.4.1,其他版本的配置方法异曲同工. 下载链接http://opencv.org/releases.html,选择sources版本 2. ...
- GCD 学习(三)Main&Global Dispatch Queue
摘录自:http://zhuyanfeng.com/archives/3066 Main Dispatch Queue是在主线程中执行任务的Dispatch Queue.因为主线程只有1个,所以Mai ...
- 196D The Next Good String
传送门 题目大意 给定n和一个字符串,求一个新字符串使得这个字符串不存在长度大于等于n的回文子串且在字典序大于原串的情况下最小. 分析 我们知道如果有一个长度为n+2的回文串,那它一定由一个长度为n的 ...
- then方法
sendSMS(phoneNo).then(function(data) { var msg = (data && data['msg']) ? data['msg'] : '验证码已 ...
- 使用 Bulma
一.起因 最近我在学习 SASS,通过它,可以将 CSS 像编程语言一样书写. 在最近之前,我又学习了 Flex 布局,用起来很方便. 所以,我学习了 Bulma 这个纯 CSS 框架--使用 Fle ...
- Jstl标签<c:if>的用法
<c:if> 标签必须要有test属性,当test中的表达式结果为true时,则会执行本体内容:如果为false,则不会执行.例 如:${requestScope.username = = ...