最近因为需要重启一个几年前开发的老项目,该项目使用代码版本管理软件是CVS(Concurrent Versions System),一个古老的版本控制系统。
为方便在windows10桌面可视化管理,需要安装tortoiseCVS。可能有的朋友会问,现在代码管理基本都使用Git或者SVN,为什么还有人在用老掉牙的CVS?其实个人认为,CVS在简单的开发中,更简单实用,特别是其本身的库管理文件,也是文本的,这就有可能不用任何工具就可以在极端情况下查看源代码的变更情况。
tortoiseCVS其实也是一个老掉牙的工具,其最近的版本是tortoiseCVS-1.15.2,于2011年发行,距今已过去10年了,看样子其作者也无心再继续开发下去。之前我们尝试安装过一些tortoiseCVS的各种版本,但总会有一些莫名的问题出来。这次也不例外。
问题1: windows10安装tortoiseCVS-1.15.2后,项目文件夹中,图标不会自动叠加文件状态
经测试,在windows7安装tortoiseCVS-1.15.2后重启系统,没有出现上面问题。百度的结果,其中一种说法是,Microsoft只能支持不超过15种的叠加图标,可以改注册表里面的信息:
运行regedit打开注册表编辑器,然后找到如下层次的目录:
在HKEY_LOCAL_MACHINE 查找 ShellIconOverlayIdentifiers,
然后将所有Tortoise命名的项目名重新命名,在前面增加一个空格+0,目的是让其排在前面。修改完后重启系统问题解决。
问题2:文件修改后提交,修改日志中文显示乱码
直接到仓库中查看相应文件,日志写入是utf-8字符,但是在TortoiseCVS显示时没有正确识别并转换字符编码。在作者没有推出新版本之前,解决的办法是,卸载TortoiseCVS自带的CVSNT,版本号是,2.5.05.3744,然后安装其他版本。
CVSNT其他版本从何而来?点击右键,然后选择Checkout TortoiseCVS就可下载。
我安装版本的是 cvsnt-2.5.03.2382.msi,其他的版本也可以尝试一下。
问题3,远程提交时报告cvs找不到错误
这个问题百思不得其解,在早期版本中根本没有这一问题,后来在TortoiseCVS系统配置找到相应的条目,如图所示,将ssh cvs server 的路径填写完整:
至此,windows10下面TortoiseCVS的几个问题,均得到解决。TortoiseCVS从易用性来讲,也算一个不错的桌面工具,特别是可以和putty完美配合,使用:ext:方法来登录远程服务器,避免重复属于密码的弊端。
我们在用TortoiseCVS早期的某些版本,曾出现每次提交后,自动把本地文件unix换行修改为dos方式换行符的问题,在1.15.2这个版本还没有出现,但不知道究竟是cvsnt原因,还是TortoiseCVS的原因,不得而知。