1 、集中配置管理代码仓库
其实我们在安装Visual SVN的时候就指定了代码仓库保存位置。此后只要我们通过Visua SVN管理界面去创建代码仓库,就可以将代码保存在这个指定的路径里。
打开VisualSVN Server,在左侧Repositories上单击鼠标右键选择Create New Repository。
选择Regular FSFS repository,输入代码仓库名称,例如test_rep,按照默认选项一路Next。这样我们就创建好了代码仓库,将来要进行版本控制的文件就存放在这里。Repository URL是访问代码仓库的链接地址。
2、创建工程目录,区分不同版本/配置
如何使用SVN进行LabVIEW代码版本控制里,代码仓库里没有区分Trunk、Branch、Tag。
如何在代码仓库里创建Trunk、Branch、Tag子目录呢? 在第一步创建的test_rep上单击鼠标右键,新建>Project Structure,创建一个工程目录。
输入工程目录名称,例如labview_test1。
创建好工程目录后,SVN目录如下图所示。可以看到labview_test1工程目录下有branches、tags、trunk三个文件夹,这是SVN标准的目录结构。
正常开发的代码可以提交到trunk目录下;在SVN里创建Branch或Tag时,对应代码会被自动拷贝到Branch或Tag目录里。
3、创建用户,权限管理
打开VisualSVN Server,在User目录上单击鼠标右键可以创建新的用户并为用户分配读写权限;在Groups目录上单击鼠标右键创建用户组。
有了用户和用户组以后,我们可以为代码仓库里各个项目指定哪有用户或哪些用户组分别具有什么权限。
4、版本冲突的解决
一个文件如果修改之前不是最新版本的(未执行Update操作),那么修改之后再提交时就会与代码仓库里保存的最新版本发生冲突。
发生版本冲突的文件,Labview项目树里会显示黄色惊叹号(需要先按照如何使用SVN进行LabVIEW代码版本控制安装和配置相关软件)。
提交(Commit)发生冲突时会提示是否Update,选择Update。
SVN不会自动把当前VI换成代码仓库里最新版本,但是会把代码仓库里最新版本拷贝到当前文件夹,以方便后续处理。可以选择下面三种处理方式之一:
1)Revert
回退,放弃之前所有修改。 然后执行Update,更新到最新版本。
2)Resolve
解决,放弃当前版本,使用代码仓库里的最新版本(之前Update过来的)。
3)Diff
打开有冲突的VI文件,在文件菜单里找到Viewpoint TSVN Tools菜单项,单击选择其下的Diff菜单项,会弹出比较工具。双击下方Differences小窗口类的子项,会突出显示当前版本VI与最新版本VI之间的不同之处。
5、合理使用TSVN工具条
TSVN工具条,在项目树的右上方可以看见。工具条的作用范围项目树里的所有文件。例如单击Commit,则项目树里所有需要提交的文件都会被提交。这比逐个文件操作有效率得多。
6、VSI VI Dashboard
打开任意一个VI,从LabVIEW的文件菜单里打开VSI VI Dashboard工具,Dashboard列出了当前需要执行SVN操作的所有VI。
在SVN Status栏里可以看见各个VI当前需要进行什么操作,选中之后可以通过右键菜单或者上方工具条进行操作。
7、TortoiseOverlay图标及其正确显示
Tortoise提供了下图中列出的图标来表示正常、新增加、修改、删除、冲突等不同的文件状态。
但是很可能,这些图标在WINDOWS资源管理器和LabVIEW项目树里都无法显示出来。例如Checkout后,代码仓库里没有的文件应该显示一个蓝色的加号图标,像下面图片里展示的。
但是实际却可能什么图标都没有显示,就像下面这幅图一样。
LabVIEW项目树里图标也是有可能不会正常显示出来。 这里面主要有两个原因:1)操作系统设置问题;2)TSVN设置问题。
1)操作系统设置问题
Windows Explorer Shell 支持的 Overlay Icon 最多 15 个,Windows 自身使用了 4 个,只剩 11 个可扩展使用,如果你开启微软 OneDrive,可能这 11 个位置都被占用,Windows 内部就是按图标名称的字母顺序来优先显示的,导致Tortoise 图标无法显示。
打开TortoiseSVN设置对话框,切换到Overlay Handlers。
可以看到现在有14个图标在TortoiseSVN图标前面,TortoiseSVN的图标是无法正常显示的。
解决的方法是单击下图中的Start registry editor,在注册表编辑器中删除TortoiseSVN之前的图标项目或者重新命名TortoiseSVN的图标(例如加空格)改变它们的顺序。
下图是打开的注册表编辑器,可以看到TortoiseSVN图标前面有很多其它软件占用的图标项目。
我把他们直接删除了。删除之后TortoiseSVN设置里切换到Overlay Handlers页面,上面就不会提示TortoiseSVN图标无法显示了。
重新启动Windows资源管理器,就可以在资源管理器里正常显示TortoiseSVN各种图标了。
2)TSVN设置问题
资源管理器里可以正常显示TortoiseSVN文件状态图标后,LabVIEW项目树还是可能不显示图标。这是因为TSVN Tools的Icon Overlays设置不对。
依次单击Tools->Viewpoint TSVN Toolkit->Settings,打开下面这个对话框,把Icon Overlays栏目里几个选项都勾上即可。
完成1)和2)两步设置以后,Tortoise的文件状态图标就可以正常显示了。 以上内容作为如何使用SVN进行LabVIEW代码版本控制一文的补充,希望能够帮助到大家。
审核编辑:刘清