版本控制
無論是個人開發(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ù)器端。
下載鏈接:
https://www.visualsvn.com/downloads/
2)Tortoise SVN
開源、圖形化界面的SVN客戶端。
下載鏈接:
https://tortoisesvn.net/downloads.html
3)Viewpoint TSVN Toolkit
LabVIEW工具包,提供在項目樹、工具欄、菜單項等位置通過Tortoise SVN訪問SVN實現(xiàn)版本控制的集成接口。在VIPM中可以下載安裝。
軟件安裝步驟
1)安裝Visual SVN
下圖黃色區(qū)域,選擇一下代碼倉庫(Repository)存放路徑;其他都使用默認(rèn)安裝選項。
2)安裝Tortoise SVN
安裝Tortoise SVN,全部使用默認(rèn)安裝選項。
3)安裝Viewpoint TSVN Toolkit工具包
在VIPM中找打Viewpoint TSVN Toolkit工具包,按提示安裝。
安裝好之后會彈出兩個對話框,分別點Yes和Apply,配置一下VI比較(Diff)和合并(Merge)工具。
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)記的地址。
單擊OK,創(chuàng)建好的MathPlotRepo文件夾目錄結(jié)構(gòu)如下圖。
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根目錄。
Tortoise會提示Target folder is not empty,不用管它,繼續(xù)Checkout。
這個時候Math Plots - 2D文件夾上會有一個標(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)行版本控制。
我們也可以打開.lvproj文件,在項目樹里可以看見對應(yīng)的幾個文件上也是有問號標(biāo)記的。
如果在項目樹里沒有看見問號,請把Viewpoint TSVN Toolkit設(shè)置選項里里Icon Overlays相關(guān)的幾項都勾選上。
我們需要把這些帶問號的文件增加到代碼倉庫中進(jìn)行版本控制。
方法有兩個:
1)在文件夾里單擊鼠標(biāo)右鍵,選擇TortoiseSVN->Add,彈出下面這個對話框,批量把這些文件加入到代碼倉庫中。
2)在LabView項目樹中,右鍵單擊帶問號的文件,選擇SVN Add。
逐項Add之后,項目樹里這些文件圖標(biāo)上會顯示一個,表示這些文件已經(jīng)計劃添加到代碼倉庫中進(jìn)行版本控制。
在帶的文件上單擊鼠標(biāo)右鍵,選擇SVN Commit進(jìn)行提交操作后,這個文件就被正式加入了代碼倉庫。
方法2這個操作有點麻煩,還是方法1批量操作更方便些。
方法2適用于在項目過程中漸進(jìn)地、單個單個地添加文件。
說明:
在LabView項目樹里Add文件之后,系統(tǒng)資源管理器文件夾里的文件圖標(biāo)也會跟著變化的。在文件夾里右鍵選擇SVN Commit也可以批量提交。
完成提交之后,LabView項目樹里這些文件前面都加上了標(biāo)記。
3)基本版本控制操作
我們打開Compass Plot.vi做一些修改,例如增加右邊圖表控件寬度、修改它的標(biāo)題文字。
提交 Commit
在項目樹里可以看見被修改過的文件會有個帶紅色驚嘆號的圖標(biāo),提醒你該文件已被修改、需要提交。
在文件上單擊鼠標(biāo)右鍵,選擇SVN Commit,在彈出的對話框里輸入修改備注后單擊OK,這個修改后的文件會被提交到代碼倉庫并加上自動更新的版本號。
回退 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會提示無法提交并給出原因。
此時項目樹中這個文件前面會有一個黃色三角驚嘆號,表示當(dāng)前文件內(nèi)容與代碼倉庫里保存的版本有沖突。
如何解決沖突呢?
SVN還有些什么功能呢?Viewpoint TSVN還有些什么操作呢?
我想這還需要一篇或者多篇推文才能說完。
歡迎大家關(guā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
+關(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)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論