0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用SVN进行LabVIEW代码版本控制呢?

jf_V8z5L4Nx 来源:传感测控物联网 2023-05-30 09:28 次阅读

1 、集中配置管理代码仓库

其实我们在安装Visual SVN的时候就指定了代码仓库保存位置。此后只要我们通过Visua SVN管理界面去创建代码仓库,就可以将代码保存在这个指定的路径里。

打开VisualSVN Server,在左侧Repositories上单击鼠标右键选择Create New Repository。

08aff216-fe47-11ed-90ce-dac502259ad0.png

选择Regular FSFS repository,输入代码仓库名称,例如test_rep,按照默认选项一路Next。这样我们就创建好了代码仓库,将来要进行版本控制的文件就存放在这里。Repository URL是访问代码仓库的链接地址。

08dbe9c0-fe47-11ed-90ce-dac502259ad0.png

2、创建工程目录,区分不同版本/配置

如何使用SVN进行LabVIEW代码版本控制里,代码仓库里没有区分Trunk、Branch、Tag。

如何在代码仓库里创建Trunk、Branch、Tag子目录呢? 在第一步创建的test_rep上单击鼠标右键,新建>Project Structure,创建一个工程目录。

08f47a8a-fe47-11ed-90ce-dac502259ad0.png

输入工程目录名称,例如labview_test1。

0909291c-fe47-11ed-90ce-dac502259ad0.png

创建好工程目录后,SVN目录如下图所示。可以看到labview_test1工程目录下有branches、tags、trunk三个文件夹,这是SVN标准的目录结构。

正常开发的代码可以提交到trunk目录下;在SVN里创建Branch或Tag时,对应代码会被自动拷贝到Branch或Tag目录里。

092b1982-fe47-11ed-90ce-dac502259ad0.png

3、创建用户,权限管理

打开VisualSVN Server,在User目录上单击鼠标右键可以创建新的用户并为用户分配读写权限;在Groups目录上单击鼠标右键创建用户组。

有了用户和用户组以后,我们可以为代码仓库里各个项目指定哪有用户或哪些用户组分别具有什么权限。

095216cc-fe47-11ed-90ce-dac502259ad0.png

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之间的不同之处。

09716298-fe47-11ed-90ce-dac502259ad0.png

09826cc8-fe47-11ed-90ce-dac502259ad0.png

5、合理使用TSVN工具条

TSVN工具条,在项目树的右上方可以看见。工具条的作用范围项目树里的所有文件。例如单击Commit,则项目树里所有需要提交的文件都会被提交。这比逐个文件操作有效率得多。

099ac638-fe47-11ed-90ce-dac502259ad0.png

6、VSI VI Dashboard

打开任意一个VI,从LabVIEW的文件菜单里打开VSI VI Dashboard工具,Dashboard列出了当前需要执行SVN操作的所有VI。

在SVN Status栏里可以看见各个VI当前需要进行什么操作,选中之后可以通过右键菜单或者上方工具条进行操作。

09b84410-fe47-11ed-90ce-dac502259ad0.png

7、TortoiseOverlay图标及其正确显示

Tortoise提供了下图中列出的图标来表示正常、新增加、修改、删除、冲突等不同的文件状态。

09e24b98-fe47-11ed-90ce-dac502259ad0.png

但是很可能,这些图标在WINDOWS资源管理器和LabVIEW项目树里都无法显示出来。例如Checkout后,代码仓库里没有的文件应该显示一个蓝色的加号图标,像下面图片里展示的。

0a1ad594-fe47-11ed-90ce-dac502259ad0.png

但是实际却可能什么图标都没有显示,就像下面这幅图一样。

0a331dde-fe47-11ed-90ce-dac502259ad0.png

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的图标(例如加空格)改变它们的顺序。

0a3cf2f0-fe47-11ed-90ce-dac502259ad0.png

下图是打开的注册表编辑器,可以看到TortoiseSVN图标前面有很多其它软件占用的图标项目。

0a6603b6-fe47-11ed-90ce-dac502259ad0.png

我把他们直接删除了。删除之后TortoiseSVN设置里切换到Overlay Handlers页面,上面就不会提示TortoiseSVN图标无法显示了。

重新启动Windows资源管理器,就可以在资源管理器里正常显示TortoiseSVN各种图标了。

2)TSVN设置问题

资源管理器里可以正常显示TortoiseSVN文件状态图标后,LabVIEW项目树还是可能不显示图标。这是因为TSVN Tools的Icon Overlays设置不对。

依次单击Tools->Viewpoint TSVN Toolkit->Settings,打开下面这个对话框,把Icon Overlays栏目里几个选项都勾上即可。

0a7fb91e-fe47-11ed-90ce-dac502259ad0.png

完成1)和2)两步设置以后,Tortoise的文件状态图标就可以正常显示了。 以上内容作为如何使用SVN进行LabVIEW代码版本控制一文的补充,希望能够帮助到大家。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • LabVIEW
    +关注

    关注

    1908

    文章

    3613

    浏览量

    316718
  • URL
    URL
    +关注

    关注

    0

    文章

    130

    浏览量

    14807
  • svn
    svn
    +关注

    关注

    0

    文章

    25

    浏览量

    8562

原文标题:LabVIEW下使用SVN的一些技巧

文章出处:【微信号:传感测控物联网,微信公众号:传感测控物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    kei如何使用svn进行开发

    kei如何使用svn进行开发
    发表于 01-04 10:14

    版本控制

    请问哪位大神知道AD15怎么样进行SVN版本控制
    发表于 04-19 11:29

    altium designer 9 的版本控制问题

    工程添加了版本控制后,在存储管理器中并没显示出SVN版本的管理,仍然只有本地历史,如下图:而我看教程应该是这样的:也就是应该有个版本管理的历
    发表于 06-23 14:56

    LabVIEW中如何进行项目版本的管理?

    同一个项目,不同阶段随着新功能的增加和对原有功能的改进会产生新的版本LabVIEW可以对所有的版本进行管理吗?若对程序进行备份,不同位置
    发表于 10-24 14:41

    linux svn和checkout的代码迁移

    #svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码
    发表于 07-16 06:11

    Linux svn管理工具的12个命令详细讲解

    目前,绝大多数开源软件都使用svn作为代码版本管理软件。本文结合实例向大家介绍Linux svn经常使用的12个常用命令。本文从目录命令开始一直到帮助命令,为大家
    发表于 07-19 06:16

    如何用LabVIEW找到某一文件夹,当前的SVN版本号(Revision)

    的代表我电脑上该文件夹的Revision,最上面那个代表该文件夹在SVN中最新的版本号,我现在想用程序得到我电脑上本地的Revision。我该怎么选。
    发表于 07-22 10:24

    什么是版本控制?git代码为什么需要版本控制

    系列之嵌入式开发-git代码管理第一章 [嵌入式开发-git代码管理之git的安装]文章目录系列之嵌入式开发-git代码管理前言一、为什么需要版本
    发表于 12-21 07:25

    请教一下大神使用RT-Thread Studio如何进行SVN代码管理

    请教一下大神使用RT-Thread Studio如何进行SVN代码管理
    发表于 01-09 16:41

    SVN服务器建立使用手册

    SVN服务器建立使用手册1.1 SVNSVN全名Subversion,即版本控制系统。SVN 是一个跨平台的软件,支持大多数常见的操作系统。作为一个开源的
    发表于 01-28 16:03 21次下载

    SVN,HG,GIT命令对照

    SVN,HG,GIT是三种常见的版本控制系统,本文简单列出一些相似的操作命令。当然,三种系统各有特点,严格的对应关系是没有的。1,第一次下载,包括源码和版本库:
    发表于 01-13 16:53 0次下载

    为什么说Git把SVN拍在沙滩上了呢?

    Git和SVN是大家都比较熟知的版本管理,近几年Git越来越受到大家的喜欢。   下面就来分享下关于Git和SVN的内容。    Git vs SVN   Git 和
    的头像 发表于 04-30 11:57 1253次阅读
    为什么说Git把<b class='flag-5'>SVN</b>拍在沙滩上了呢?

    如何使用SVN进行LabVIEW代码版本控制

    无论是个人开发还是多人合作开发,版本控制都是必不可少的。
    的头像 发表于 05-22 10:23 825次阅读
    如何使用<b class='flag-5'>SVN</b><b class='flag-5'>进行</b><b class='flag-5'>LabVIEW</b><b class='flag-5'>代码</b><b class='flag-5'>版本</b><b class='flag-5'>控制</b>

    Labview开发电梯控制代码

    Labview开发电梯控制代码
    发表于 10-25 18:23 5次下载

    C/c++源代码qt软件 svn版本管理开发如何防泄密?

    现在很多研发团队采用的是c/c++语言,版本管理服务器采用的是svn,开发工具qt软件或vc软件,或是matlab等开发工具,对于这种环境,安秉网盾有完善的防泄密方案,支持各种研发环境。员工
    的头像 发表于 12-05 10:35 144次阅读
    C/c++源<b class='flag-5'>代码</b>qt软件 <b class='flag-5'>svn</b><b class='flag-5'>版本</b>管理开发如何防泄密?