浅谈在Qt中使用CVS 其他债券投资是以公允价值计量吗
创始人
2024-07-31 18:40:40
0

Qt中使用CVS是本文要讲解的内容,CVS是一个C/S系统,是一个常用的代码版本控制软件。主要在开源软件管理中使用。与它相类似的代码版本控制软件有subversion。

大家都知道团队项目中常常要使用版本控制系统来对代码进行版本管理和对多人协作。不过有时候个人项目也需要版本控制。去年暑假的时候,记得我当时在为我所在学校的linux用户编写一个802.1x协议认证客户端,很快问题来了,因为是初次做像样一点的东西,在软件界面等方面又有比较多的要求,经常发现各种各样的bug,于是三天之后,我建立了一个日志文件来记录各种修改、各种问题和一些编写过程中产生的想法,但是这种方法非常费劲,而且各种修改记录.有时候都不知道自己改到哪儿了,当打开工程发现上次的修改发生严重问题的时候,那真是一个欲哭无泪啊,这时候我隐约感觉到,我需要使用版本控制系统,但是因为学习关系一直没有空来学。

版本控制系统常用的有Git,Mercurial,SVN,CVS,以及微软的SourceSafe等,Qt默认似乎支持Git,可惜我先学习的是RCS,所以顺手就学了CVS。CVS是从RCS发展而来的一个历史比较久的版本控制系统,几乎覆盖了版本控制系统应有的所有功能。Qt提供对Git,Mercurial,Perforce,SVN以及CVS的支持,也就是说,配置好以后,无须命令行操作就可以方便的使用这些版本系统了。

因为我现在还没有用到过CVS服务器,所以这里演示的也只是使用本地文件夹作为仓库的情况。这里假设你已经懂得使用CVS的基本命令。

1.将工程导入CVS仓库

我这里有一个扫雷程序,导入仓库创建项目:

cvs -d /home/tyh/repository/ import -m"扫雷初步版本,尚需要增加扫雷英雄榜" qtmine qtmine initial

在位于/home/tyh/repository的仓库中创建了一个叫做qtmine的工程,并将当前文件夹内的内容导入工程仓库

2.通过Qt获取仓库中的工程并进行修改

运行Qt Creator,在欢迎界面中点击右下方的“Create Project”按钮,在弹出的如下对话框中,选择Project from Version Control-> CVS Checkout

Choose之后,弹出如下对话框,Repository是指仓库中项目的位置,如果未指定CVSROOT,那么这里的repository可能就要写得长一点了,如果已经设定CVSROOT,那么直接写仓库中工程的名字即可。这里填写qtmine,Path一栏是指工程签出到哪一个文件夹,譬如这里/home/tyh/desk,那么签出之后,就会将签出的文件夹放到/home/tyh/desk中了。

接下来,就可以看到工程已经成功加载到Qt Creator中,就可以像正常的工程一样修改啦!

3.在Tools->CVS菜单中就可以看到各种指令了,在Qt Creator进行的正常的添加/删除文件等也无需繁琐的指令,只需回答简单一个问题确认以下就可以将修改映射到cvs中。

注意:为了减少不必要的文件,建议最初的工程创建时采用 Shadow Build,这样编译的中间文件(包括Makefile,moc*.cpp,*.o,可执行文件等)都会放到一个  工程名-build-desktop的文件夹中,自然也就不必因为中间文件的修改而进行频繁的嵌入/签出工作了。

CVS目前的配置已经基本可以自动识别各种二进制文件,自然也就无须对图片文件等费心了。不过使用过程中发现,对于Qt的资源文件,Qt Creator只负责在它的工程视图中的文件,例如将图片资源加入到qrc文件里,那么***Qt Creator更新到CVS中的只是qrc文件,新增加的图片文件并没有签进去。所以说这些不归Qt Creator直接管辖的文件,还是要使用命令手动把它们添加到仓库中

小结:在Qt中使用CVS的内容介绍完了,对于CVS,您如果感兴趣,也可以去网上搜集一些其他的知识,那么***在稍微介绍一下,CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。

【编辑推荐】

剖析Qt Quick之QML程序

剖析Qt Creator布局管理器

浅析Qt Creator中使用OpenCV库

QT中关于信号与槽机制的实现原理

Qt Creator安装和hello world程序编写

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...