0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用SVN進(jìn)行LabVIEW代碼版本控制

jf_V8z5L4Nx ? 來源:傳感測控物聯(lián)網(wǎng) ? 2023-05-22 10:23 ? 次閱讀

版本控制

無論是個人開發(fā)還是多人合作開發(fā),版本控制都是必不可少的。

具體什么是版本控制、為什么要進(jìn)行版本控制等基本概念,這里先不說了。相關(guān)介紹也比較多,需要的可以先搜索了解一下。

SVN(Subversion)是最流行的一個開源軟件代碼版本控制工具,采用服務(wù)器/客戶端架構(gòu),軟件代碼存儲在服務(wù)器上。不同用戶通過客戶端檢出(Checkout)或提交(Commit)代碼。

SVN的服務(wù)器端和客戶端既有命令行形式的,也有圖形界面形式的,可以根據(jù)需要自行選擇。

LabVIEW里我們可以通過第三方插件使用SVN進(jìn)行版本控制。

本篇推送我們介紹如何使用Viewpoint TSVN Toolkit對LabVIEW軟件代碼進(jìn)行版本控制。

需要的軟件

1)Visual SVN

開源、有圖形化界面的SVN服務(wù)器端。

90806d40-f6f6-11ed-90ce-dac502259ad0.png

下載鏈接:

https://www.visualsvn.com/downloads/

2)Tortoise SVN

開源、圖形化界面的SVN客戶端。

90915204-f6f6-11ed-90ce-dac502259ad0.png

下載鏈接:

https://tortoisesvn.net/downloads.html

3)Viewpoint TSVN Toolkit

90b2536e-f6f6-11ed-90ce-dac502259ad0.png

LabVIEW工具包,提供在項目樹、工具欄、菜單項等位置通過Tortoise SVN訪問SVN實現(xiàn)版本控制的集成接口。在VIPM中可以下載安裝。

軟件安裝步驟

1)安裝Visual SVN

下圖黃色區(qū)域,選擇一下代碼倉庫(Repository)存放路徑;其他都使用默認(rèn)安裝選項。

90d44b04-f6f6-11ed-90ce-dac502259ad0.png

2)安裝Tortoise SVN

安裝Tortoise SVN,全部使用默認(rèn)安裝選項。

3)安裝Viewpoint TSVN Toolkit工具包

在VIPM中找打Viewpoint TSVN Toolkit工具包,按提示安裝。

安裝好之后會彈出兩個對話框,分別點Yes和Apply,配置一下VI比較(Diff)和合并(Merge)工具。

90ef0944-f6f6-11ed-90ce-dac502259ad0.jpg9103b0ba-f6f6-11ed-90ce-dac502259ad0.jpg

Viewpoint TSVN Toolkit版本控制實操

1)創(chuàng)建代碼倉庫

在你安裝Visual SVN Server時設(shè)置的代碼倉庫存放路徑下創(chuàng)建一個文件夾,用來保存我們要進(jìn)行版本控制的項目。例如我們在C:Repositories下創(chuàng)建一個MathPlotRepo文件夾。

在MathPlotRepo文件夾上單擊鼠標(biāo)右鍵,選擇TortoiseSVN->Create repository here,會彈出下面這個對話框??截愐幌聵?biāo)記的地址。

91140514-f6f6-11ed-90ce-dac502259ad0.png

單擊OK,創(chuàng)建好的MathPlotRepo文件夾目錄結(jié)構(gòu)如下圖。

91333d26-f6f6-11ed-90ce-dac502259ad0.png

2)導(dǎo)入LabView項目文件

這一步的主要目的是把我們需要進(jìn)行版本控制的項目導(dǎo)入到SVN中并建立起管控關(guān)系。

我們拷貝Math Plots - 2D示例文件夾到桌面上。在文件夾上單擊鼠標(biāo)右鍵選擇SVN Checkout...。URL of repository粘貼上前面復(fù)制的MathPlotRepo代碼倉庫地址。Checkout directory選擇Math Plots - 2D根目錄。

913e7c2c-f6f6-11ed-90ce-dac502259ad0.png

Tortoise會提示Target folder is not empty,不用管它,繼續(xù)Checkout。

這個時候Math Plots - 2D文件夾上會有一個91533f4a-f6f6-11ed-90ce-dac502259ad0.png標(biāo)記,表示操作正常、已經(jīng)與代碼倉庫版本一致。

注意,我們從MathPlotRepo代碼倉庫里Checkout時,代碼倉庫里是沒有項目文件(VI等)的,Checkout操作只是建立了Math Plots - 2D文件夾和代碼倉庫的版本控制“關(guān)系”。這種“關(guān)系”保存在Math Plots -2D文件夾里的隱藏文件夾.svn里。

所以,打開Math Plots - 2D文件夾,你會發(fā)現(xiàn)里面的文件上會有藍(lán)色小問號標(biāo)記,表示這些文件還沒有進(jìn)行版本控制。

91606c42-f6f6-11ed-90ce-dac502259ad0.png

我們也可以打開.lvproj文件,在項目樹里可以看見對應(yīng)的幾個文件上也是有問號標(biāo)記的。

9179e820-f6f6-11ed-90ce-dac502259ad0.png

如果在項目樹里沒有看見問號,請把Viewpoint TSVN Toolkit設(shè)置選項里里Icon Overlays相關(guān)的幾項都勾選上。

9190fe52-f6f6-11ed-90ce-dac502259ad0.png

我們需要把這些帶問號的文件增加到代碼倉庫中進(jìn)行版本控制。

方法有兩個:

1)在文件夾里單擊鼠標(biāo)右鍵,選擇TortoiseSVN->Add,彈出下面這個對話框,批量把這些文件加入到代碼倉庫中。

91b10f6c-f6f6-11ed-90ce-dac502259ad0.png

2)在LabView項目樹中,右鍵單擊帶問號的文件,選擇SVN Add。

逐項Add之后,項目樹里這些文件圖標(biāo)上會顯示一個,表示這些文件已經(jīng)計劃添加到代碼倉庫中進(jìn)行版本控制。

91c826fc-f6f6-11ed-90ce-dac502259ad0.png

在帶的文件上單擊鼠標(biāo)右鍵,選擇SVN Commit進(jìn)行提交操作后,這個文件就被正式加入了代碼倉庫。

91d833e4-f6f6-11ed-90ce-dac502259ad0.png

方法2這個操作有點麻煩,還是方法1批量操作更方便些。

方法2適用于在項目過程中漸進(jìn)地、單個單個地添加文件。

說明:

在LabView項目樹里Add文件之后,系統(tǒng)資源管理器文件夾里的文件圖標(biāo)也會跟著變化的。在文件夾里右鍵選擇SVN Commit也可以批量提交。

91f75940-f6f6-11ed-90ce-dac502259ad0.png

完成提交之后,LabView項目樹里這些文件前面都加上了91533f4a-f6f6-11ed-90ce-dac502259ad0.png標(biāo)記。

9216b862-f6f6-11ed-90ce-dac502259ad0.png

3)基本版本控制操作

我們打開Compass Plot.vi做一些修改,例如增加右邊圖表控件寬度、修改它的標(biāo)題文字。

9220544e-f6f6-11ed-90ce-dac502259ad0.png

提交 Commit

在項目樹里可以看見被修改過的文件會有個帶紅色驚嘆號的圖標(biāo),提醒你該文件已被修改、需要提交。

92454452-f6f6-11ed-90ce-dac502259ad0.png

在文件上單擊鼠標(biāo)右鍵,選擇SVN Commit,在彈出的對話框里輸入修改備注后單擊OK,這個修改后的文件會被提交到代碼倉庫并加上自動更新的版本號。

9259579e-f6f6-11ed-90ce-dac502259ad0.png

回退 Revert

如果我們不想修改了,但是修改已經(jīng)被保存到當(dāng)前VI了(尚未提交),我們可以選擇Revert命令,TortoiseSVN會從代碼倉庫中提取出最近版本的文件。

檢出 Checkout

任何可以訪問代碼倉庫(一般放置在服務(wù)器上)的用戶,都可以在任意位置Checkout出其中的項目。Checkout時,選擇HEAD revison可以獲得最新的版本;選擇Revision并單擊右側(cè)的Show Log按鈕,可以根據(jù)需要選擇想要的版本。

更新 Update

其他工程師修改項目文件后,我們只需要右鍵選擇SVN Update就可以將文件更新到最新版本。

小結(jié)一下通常操作過程:

1)創(chuàng)建代碼倉庫。

2)Checkout,添加項目文件,Commit,建立初始版本。

3)Checkout/Update,繼續(xù)開發(fā),Commit;過程中間可能用到Revert。

SVN自動維護Checkout、Commit、Update操作之間的版本。正常Checkout/Update,再修改,再Commit確認(rèn),代碼的最新有效版本總是可以從SVN總獲得;其它版本也可以從SVN中選擇,Commit時的描述也有助于我們區(qū)分不同版本。

建議大家試一試,從今天起SVN用起來!

假設(shè)A打開Compass Plot.vi進(jìn)行了修改、提交;接著B打開他在A提交之前Checkout的、保存在本地的Compass Plot.vi,也進(jìn)行了修改,然后B申請?zhí)峤恍薷牡奈募?。這時候會發(fā)生什么?

B打開文件后未進(jìn)行更新,文件已經(jīng)不是最新狀態(tài)的了,在提交基于當(dāng)前舊狀態(tài)進(jìn)行的修改時TortoiseSVN會提示無法提交并給出原因。

926f89ec-f6f6-11ed-90ce-dac502259ad0.png

此時項目樹中這個文件前面會有一個黃色三角驚嘆號,表示當(dāng)前文件內(nèi)容與代碼倉庫里保存的版本有沖突。

928cd236-f6f6-11ed-90ce-dac502259ad0.png

如何解決沖突呢?

SVN還有些什么功能呢?Viewpoint TSVN還有些什么操作呢?

我想這還需要一篇或者多篇推文才能說完。

歡迎大家關(guān)注。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • LabVIEW
    +關(guān)注

    關(guān)注

    1971

    文章

    3654

    瀏覽量

    323596
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9160

    瀏覽量

    85420
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3349

    瀏覽量

    42499
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4788

    瀏覽量

    68611
  • svn
    svn
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    8653

原文標(biāo)題:如何使用SVN進(jìn)行LabVIEW代碼版本控制

文章出處:【微信號:傳感測控物聯(lián)網(wǎng),微信公眾號:傳感測控物聯(lián)網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    最新版本LabVIEW NXG,進(jìn)行更智能的測試

    作為致力于為工程師和科學(xué)家提供解決方案來應(yīng)對全球最嚴(yán)峻的工程挑戰(zhàn)的供應(yīng)商,NI今日宣布推出新版LabVIEW NXG,LabVIEW NXG是LabVIEW工程系統(tǒng)設(shè)計軟件的下一代版本
    的頭像 發(fā)表于 02-08 13:43 ?1.4w次閱讀

    kei如何使用svn進(jìn)行開發(fā)

    kei如何使用svn進(jìn)行開發(fā)
    發(fā)表于 01-04 10:14

    版本控制

    請問哪位大神知道AD15怎么樣進(jìn)行SVN版本控制?
    發(fā)表于 04-19 11:29

    Linux svn管理工具的12個命令詳細(xì)講解

    目前,絕大多數(shù)開源軟件都使用svn作為代碼版本管理軟件。本文結(jié)合實例向大家介紹Linux svn經(jīng)常使用的12個常用命令。本文從目錄命令開始一直到幫助命令,為大家
    發(fā)表于 07-19 06:16

    如何用LabVIEW找到某一文件夾,當(dāng)前的SVN版本號(Revision)

    的代表我電腦上該文件夾的Revision,最上面那個代表該文件夾在SVN中最新的版本號,我現(xiàn)在想用程序得到我電腦上本地的Revision。我該怎么選。
    發(fā)表于 07-22 10:24

    請教一下大神使用RT-Thread Studio如何進(jìn)行SVN代碼管理呢?

    請教一下大神使用RT-Thread Studio如何進(jìn)行SVN代碼管理呢?
    發(fā)表于 01-09 16:41

    SVN服務(wù)器建立使用手冊

    SVN服務(wù)器建立使用手冊1.1 SVNSVN全名Subversion,即版本控制系統(tǒng)。SVN 是一個跨平臺的軟件,支持大多數(shù)常見的操作系統(tǒng)。作為一個開源的
    發(fā)表于 01-28 16:03 ?21次下載

    SVN,HG,GIT命令對照

    SVN,HG,GIT是三種常見的版本控制系統(tǒng),本文簡單列出一些相似的操作命令。當(dāng)然,三種系統(tǒng)各有特點,嚴(yán)格的對應(yīng)關(guān)系是沒有的。1,第一次下載,包括源碼和版本庫:
    發(fā)表于 01-13 16:53 ?0次下載

    基于SVN軟件配置管理及持續(xù)集成

    SVN是一款廣泛使用的配置管理工具,適合中小型軟件團隊使用。本文敘述了SVN的特點,介紹了配置管理的基本概念和相關(guān)角色:詳細(xì)介紹了基于SVN的軟件配置管理和持續(xù)集成,主要包括權(quán)限管理、SVN
    發(fā)表于 11-07 17:50 ?6次下載
    基于<b class='flag-5'>SVN</b>軟件配置管理及持續(xù)集成

    Labview進(jìn)行儀器控制的原因分析

    本文詳細(xì)介紹了Labview進(jìn)行儀器控制的原因。
    發(fā)表于 11-15 14:15 ?11次下載
    <b class='flag-5'>Labview</b><b class='flag-5'>進(jìn)行</b>儀器<b class='flag-5'>控制</b>的原因分析

    關(guān)于SVN的例程講解

    SVN 的一些例程
    的頭像 發(fā)表于 07-11 00:03 ?2293次閱讀

    為什么說Git把SVN拍在沙灘上了呢?

    Git和SVN是大家都比較熟知的版本管理,近幾年Git越來越受到大家的喜歡。 ? 下面就來分享下關(guān)于Git和SVN的內(nèi)容。 ? ?Git vs SVN ? Git 和
    的頭像 發(fā)表于 04-30 11:57 ?1491次閱讀
    為什么說Git把<b class='flag-5'>SVN</b>拍在沙灘上了呢?

    如何使用SVN進(jìn)行LabVIEW代碼版本控制呢?

    其實我們在安裝Visual SVN的時候就指定了代碼倉庫保存位置。此后只要我們通過Visua SVN管理界面去創(chuàng)建代碼倉庫,就可以將代碼保存
    的頭像 發(fā)表于 05-30 09:28 ?2002次閱讀
    如何使用<b class='flag-5'>SVN</b><b class='flag-5'>進(jìn)行</b><b class='flag-5'>LabVIEW</b><b class='flag-5'>代碼</b><b class='flag-5'>版本</b><b class='flag-5'>控制</b>呢?

    Labview開發(fā)電梯控制代碼

    Labview開發(fā)電梯控制代碼
    發(fā)表于 10-25 18:23 ?7次下載

    C/c++源代碼qt軟件 svn版本管理開發(fā)如何防泄密?

    現(xiàn)在很多研發(fā)團隊采用的是c/c++語言,版本管理服務(wù)器采用的是svn,開發(fā)工具qt軟件或vc軟件,或是matlab等開發(fā)工具,對于這種環(huán)境,安秉網(wǎng)盾有完善的防泄密方案,支持各種研發(fā)環(huán)境。員工
    的頭像 發(fā)表于 12-05 10:35 ?429次閱讀
    C/c++源<b class='flag-5'>代碼</b>qt軟件 <b class='flag-5'>svn</b><b class='flag-5'>版本</b>管理開發(fā)如何防泄密?