LabVIEW中如何用第三方插件SVN进行版本控制?快来了解
版本控制
无论是个人开发还是多人合作开发,版本控制都是必不可少的。
具体什么是版本控制、为什么要进行版本控制等基本概念,这里先不说了。相关介绍也比较多,需要的可以先搜索了解一下。
SVN()是最流行的一个开源软件代码版本控制工具,采用服务器/客户端架构,软件代码存储在服务器上。不同用户通过客户端检出()或提交()代码。
SVN的服务器端和客户端既有命令行形式的,也有图形界面形式的,可以根据需要自行选择。
在里我们可以通过第三方插件使用SVN进行版本控制。
本篇推送我们介绍如何使用 TSVN 对软件代码进行版本控制。
需要的软件
1) SVN
开源、有图形化界面的SVN服务器端。

下载链接:
2) SVN
开源、图形化界面的SVN客户端。

下载链接:
3) TSVN

工具包,提供在项目树、工具栏、菜单项等位置通过 SVN访问SVN实现版本控制的集成接口。在VIPM中可以下载安装。
软件安装步骤
1)安装 SVN
下图黄色区域,选择一下代码仓库()存放路径;其他都使用默认安装选项。

2)安装 SVN
安装 SVN,全部使用默认安装选项。
3)安装 TSVN 工具包
在VIPM中找打 TSVN 工具包,按提示安装。
安装好之后会弹出两个对话框,分别点Yes和Apply,配置一下VI比较(Diff)和合并(Merge)工具。


TSVN 版本控制实操
1)创建代码仓库
在你安装 SVN 时设置的代码仓库存放路径下创建一个文件夹,用来保存我们要进行版本控制的项目。例如我们在C:下创建一个文件夹。
在文件夹上单击鼠标右键,选择-> here,会弹出下面这个对话框。拷贝一下标记的地址。

单击OK,创建好的文件夹目录结构如下图。

2)导入项目文件
这一步的主要目的是把我们需要进行版本控制的项目导入到SVN中并建立起管控关系。
我们拷贝Math Plots - 2D示例文件夹到桌面上。在文件夹上单击鼠标右键选择SVN ...。URL of 粘贴上前面复制的代码仓库地址。 选择Math Plots - 2D根目录。

会提示 is not empty,不用管它,继续。
这个时候Math Plots - 2D文件夹上会有一个
标记,表示操作正常、已经与代码仓库版本一致。
注意,我们从代码仓库里时,代码仓库里是没有项目文件(VI等)的,操作只是建立了Math Plots - 2D文件夹和代码仓库的版本控制“关系”。这种“关系”保存在Math Plots -2D文件夹里的隐藏文件夹.svn里。
所以,打开Math Plots - 2D文件夹,你会发现里面的文件上会有蓝色小问号标记,表示这些文件还没有进行版本控制。

我们也可以打开.文件,在项目树里可以看见对应的几个文件上也是有问号标记的。

如果在项目树里没有看见问号,请把 TSVN 设置选项里里Icon 相关的几项都勾选上。

我们需要把这些带问号的文件增加到代码仓库中进行版本控制。
方法有两个:
1)在文件夹里单击鼠标右键,选择->Add,弹出下面这个对话框,批量把这些文件加入到代码仓库中。

2)在项目树中,右键单击带问号的文件,选择SVN Add。
逐项Add之后,项目树里这些文件图标上会显示一个,表示这些文件已经计划添加到代码仓库中进行版本控制。

在带的文件上单击鼠标右键,选择SVN 进行提交操作后,这个文件就被正式加入了代码仓库。

方法2这个操作有点麻烦,还是方法1批量操作更方便些。
方法2适用于在项目过程中渐进地、单个单个地添加文件。
说明:
在项目树里Add文件之后,系统资源管理器文件夹里的文件图标也会跟着变化的。在文件夹里右键选择SVN 也可以批量提交。

完成提交之后,项目树里这些文件前面都加上了
标记。

3)基本版本控制操作
我们打开 Plot.vi做一些修改,例如增加右边图表控件宽度、修改它的标题文字。

提交
在项目树里可以看见被修改过的文件会有个带红色惊叹号的图标,提醒你该文件已被修改、需要提交。

在文件上单击鼠标右键,选择SVN ,在弹出的对话框里输入修改备注后单击OK,这个修改后的文件会被提交到代码仓库并加上自动更新的版本号。

回退
如果我们不想修改了,但是修改已经被保存到当前VI了(尚未提交),我们可以选择命令,会从代码仓库中提取出最近版本的文件。
检出
任何可以访问代码仓库(一般放置在服务器上)的用户,都可以在任意位置出其中的项目。时,选择HEAD 可以获得最新的版本;选择并单击右侧的Show Log按钮,可以根据需要选择想要的版本。
更新
其他工程师修改项目文件后,我们只需要右键选择SVN 就可以将文件更新到最新版本。
小结一下通常操作过程:
1)创建代码仓库。
2),添加项目文件,,建立初始版本。
3)/,继续开发,;过程中间可能用到。
SVN自动维护、、操作之间的版本。正常/,再修改,再确认,代码的最新有效版本总是可以从SVN总获得;其它版本也可以从SVN中选择,时的描述也有助于我们区分不同版本。
建议大家试一试,从今天起SVN用起来!
假设A打开 Plot.vi进行了修改、提交;接着B打开他在A提交之前的、保存在本地的 Plot.vi,也进行了修改,然后B申请提交修改的文件。这时候会发生什么?
B打开文件后未进行更新,文件已经不是最新状态的了,在提交基于当前旧状态进行的修改时会提示无法提交并给出原因。

此时项目树中这个文件前面会有一个黄色三角惊叹号,表示当前文件内容与代码仓库里保存的版本有冲突。

如何解决冲突呢?
SVN还有些什么功能呢? TSVN还有些什么操作呢?
我想这还需要一篇或者多篇推文才能说完。
欢迎大家关注。
























