(三)版本控制管理器之CVS(下)
在上一篇文章《(二)版本控制管理器之CVS(上)》中,我为大家介绍了什么是CVS、CVS的特点、CVS的安装、CVSNT服务器的配置、TortoiseCVS客户端的配置等,本篇文章继续为大家分享关于CVS的知识,Visual Studio 开发工具如何结合CVS一同开发使用。
一讲到微软这家大牛公司,就想到它得意开发集成工具的作品:Visual Studio,很多开发团队或公司在使用Visual Studio做项目开发的时候很自然的使用Visual SourceSafe(VSS)作为其源码管理工具,在后面的文章我会大家一一讲解。
(1)建立Visual Studio.Net工程并加入到CVS中
与SourceSafe相比,CVS中的Repository相当于SourceSafe中的Database,CVS中的Module与客户端的目录结构一一对应。因此,Visual Studio.Net以目录为单位,将Solution保存在CVS对应Modules中。
A)建立新的Visual Studio.Net工程(任意),Solution视图如下所示:

此时VS.Net中有一个名为CVSSolution的解决方案(Solution)以及在CVSSolution下有一个名为GraphicsPath1项目(Project)。
B)将CVSSolution加入CVS,右击Solution视图,在弹出菜单中选择“Add Solution to Source Control…”,将弹出以下对话框:

CVS的远程访问一般使用pserver协议,CVSROOT的格式如下:
:pserver:username:pasword@hostname:repository
此处的Repository选择了图二所示的MyFirstRepository,点击Check按钮测试服务器连接,此时将弹出CVS Login对话框,提示输入密码(当然密码也可以在CVSROOT中指定):

此时,如果连接成功,则会弹出以下信息对话框,否则会弹出信息:

(2)TortoiseCVS使用手册
1.设置工作目录:
在目录“D:repository”下,存放三个配置库。配置库的名称分别为“cvstrain”、“cvstrain1”、“cvstrain2”。则在“D:repository”下分别新建“cvstrain”、“cvstrain1”、“cvstrain2”三个目录。如图:

2.检出配置库:
在工作目录下,鼠标左键选中检出的配置库所对应的目录“cvstrain”,点击鼠标右键选择“CVS取出(K)…”检出配置库内容。如图:

弹出“取出模块”对话框。如图:

在“取出模块”对话框的选项中:
“CVSROOT:”填入mail中的CVSROOT信息;
“模块:”填入“.”;
配置库中的文件将开始下载到本地目录“D:repositorycvstrain”下。检出配置库完成,如图:

配置库检出后文件夹图标变为
。
3.更新配置库:
鼠标左键选中目录“cvstrain”,点击鼠标右键,选择“CVS更新(U)”,如图:

4.修改、提交文件:
文件修改后文件图标显示为
,在修改的文件上鼠标右键选择“CVS提交(C)…”。如图:

在“提交”对话框中的“注释”写一些简洁的说明文字,点击“确认”按钮。添加、提交文件完成。如图:

文件提交成功后文件图标显示为
。
5.添加、提交文件:
不在配置库中的文件图标显示为
在待添加的文件上鼠标右键选择“CVS添加(A)…”。如图:

在“添加”对话框中确认添加的文件格式是否正确,点击“确认”按钮添加。如图:

注意
添加有二种方式:
1.以文本文件/ASCII方式添加。
2.以二进制方式添加。
如添加文件时需要修改文件格式,在文件上点击右键,选择添加的方式。如图:

文件添加后图标显示为
。
6.删除、提交文件:
在待删除文件“test1.txt”上鼠标右键选择“CVS”→“删除(R)”。如图:

在本地目录空白处鼠标右键选择“CVS提交(C)…”。如图:


7.删除目录:
TortoiseCVS界面上并没有这样的功能。不过,可以在CVS服务器仓库中手动删除目录。若需要删除目录,请与SCM工程师联系。
8.创建标签:
在待创建标签的文件上鼠标右键选择“CVS”→“标签(T)”。如图:

弹出“标签”对话框中,选择“创建新标签”,填写要添加的tag为“build-abc”。点击“确认”按钮。如图:

查看文件标签,在文件上右键选择“CVS” →“版本分支图(G)…”。如图:


9.删除标签:
在待删除标签的文件鼠标右键选择“CVS”→“标签(T)”。如图:

弹出“标签”对话框中,选择“删除已有的标签”,点击“确认”按钮。如图:


10.查看历史版本:
在待查看文件上鼠标右键选择“CVS” →“版本分支图(G)…”。如图:

在“版本分支图”中查看文件历史版本。如图:

附:文件图标说明

链接文章:https://my.oschina.net/tadcat/blog/150033
本篇文章到这里就基本对CVS这个版本控制管理器的讲述完了,想必大家都对CVS都不会陌生了吧,其实它的操作跟SVN相差不了多少,在下一篇文章中我们继续了解下一个版本控制器(VSS),我将在这里带领大家了解版本控制的奥秘,前提是大家真心跟随本人走进那个领域,若本篇文章存在不足,请留言赐教。
A young ilder ~ an old beggar !
(三)版本控制管理器之CVS(下)的更多相关文章
- (二)版本控制管理器之CVS(上)
在前一篇<(一)版本控制管理器之发展史>的介绍中,有提到古典时期的CVS,那什么是CVS?CVS特点是什么?怎么个用法?等一系列的问题,虽然这个版本控制管理器早已过时,但大家了解下也不妨, ...
- (四)版本控制管理器之VSS
在上一篇<(二)版本控制管理器值CVS(下)>的文章中,我为大家介绍了CVS这个版本控制器,接下来我继续跟大家分享介绍下一个版本控制管理器--VSS,为什么要说这个版本控制器呢?早已过时的 ...
- 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)
摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...
- 三十一、Java图形化界面设计——布局管理器之GridLayout(网格布局)
摘自http://blog.csdn.net/liujun13579/article/details/7772491 三十一.Java图形化界面设计--布局管理器之GridLayout(网格布局) 网 ...
- 三十三、Java图形化界面设计——布局管理器之null布局(空布局)
摘自http://blog.csdn.net/liujun13579/article/details/7774267 三十三.Java图形化界面设计--布局管理器之null布局(空布局) 一般容器都有 ...
- Swing-布局管理器之GridLayout(网格布局)-入门
注:本文内容源自于三十一.Java图形化界面设计——布局管理器之GridLayout(网格布局),笔者在学习过程中根据自身理解修改了部分代码. 网格布局特点: l 使容器中的各组件呈M行×N列的网格 ...
- 通过TortoiseGit来使用Github或Visual Studio Online版本控制管理
一.前言 关于Git源码不再多阐述,它就是一款开源分布式版本控制工具,它在源码管理领土上目前为止,使用者比例很大,越来越多的人使用该工具来管理项目源码,且相当多的开源的项目都移步到Github中,如: ...
- 转:Java图形化界面设计——布局管理器之FlowLayout(流式布局)其他请参考转载出处网址
http://blog.csdn.net/liujun13579/article/details/7771191 前文讲解了JFrame.JPanel,其中已经涉及到了空布局的使用.Java虽然可以以 ...
- Java图形化界面设计——布局管理器之FlowLayout(流式布局)
一.布局管理器所属类包 所属类包 布局管理器名称 说明 Java.awt FlowLayout(流式布局) 组件按照加入的先后顺序按照设置的对齐方式从左向右排列,一行排满到下一行开始继续排列 Bord ...
随机推荐
- C# Windows异步I/O操作
1.简介 关于Windows的异步I/O操作,只要解决的是同步I/O操作的线程利用率问题,通过异步I/O Api来提升线程的利用率,提升系统的吞吐能力,将各种I/O操作交给线程池然后交由硬件设备执行, ...
- redis 系列1 linux下安装说明
一. 安装环境 操作系统:centos 7 ,redis版本4.06,客户端windows 7 ,vs2015. 1.1 安装前的条件 yum -y install gcc-c++ 判断是否安装了gc ...
- newwork setup
#-*-coding:utf-8-*- ######################################################################### # Copy ...
- eclipse制作exe文件
1.右击你的项目,选择Export: 2.选择Java目录下的JAR file: 3.设置导出jar文件的路径,我这里选择的是桌面,点击Next: 4.这一步默认,不用改动,直接Next: 5.设置项 ...
- SQLite占用资源少原因
本篇承接上篇SQLite详解的下篇,介绍SQLIte为什么占用资源少的原因?本文主要参考https://blog.csdn.net/hanyingzhong/article/details/46400 ...
- asp.net-基础-20180320
常用页面指令 <%@page%>:一个页面只能有一个 <%@Import NameSpace=“Value“%> 导入命名空间 <%@OutputCache%> 设 ...
- mybatis_04 resultType和resultMap区别
resultType 使用resultType进行结果映射时,查询的列名和映射的pojo属性名完全一致,该列才能映射成功. 如果查询的列名和映射的pojo属性名全部不一致,则不会创建pojo对象: 如 ...
- MySQL技巧(二)——无限级分类表设计
无限级分类表的设计(掌握'自身连接') 类似图书这种,会有很多种分类,而且在现实生活中这种分类会无限的往下分,所以不可能每有一个分类就创建一个分类表.应该使用下面这种语句 DROP TABLE IF ...
- Flask 系列之 FlaskForm
通过使用 FlaskForm ,可以方便快捷的实现表单处理. 说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环境管理器:virtualenv 代码编辑器:VS Code 实验 ...
- Android Service解析
Android Service是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件,它分为两种工作状态,一种是启动状态,主要用于执行后台计算:另一种是绑定状态,主要用于其他组件和Service ...