亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種編譯版本自動更新的方法與裝置與流程

文檔序號:11285910閱讀:230來源:國知局
一種編譯版本自動更新的方法與裝置與流程

本發(fā)明涉及虛擬機編譯環(huán)境技術(shù)領(lǐng)域,特別是涉及一種編譯版本自動更新的方法與裝置。



背景技術(shù):

開放源代碼的版本控制系統(tǒng)(subversion,svn)采用了分支管理系統(tǒng),它將系統(tǒng)整體的信息安全功能均衡合理地分布在不同的子系統(tǒng)中,使各子系統(tǒng)的功能得到最大限度的發(fā)揮,子系統(tǒng)之間互相補充,系統(tǒng)整體性能大于各子系統(tǒng)功能之和。

當(dāng)前項目中最新的vmware編譯環(huán)境大多數(shù)在svn端保存,而每位研發(fā)成員在本地端都會配有自己的vmware編譯環(huán)境。由于svn端的vmware編譯環(huán)境經(jīng)常更新,但由于研發(fā)成員不清楚本地端的vmware編譯環(huán)境版本,因此無法知道是否與svn端的vmware編譯環(huán)境有差異,故無法進行差異化更新,只能進行完全的手動拷貝操作,這樣會浪費許多時間,并且手動操作存在失誤的風(fēng)險,甚至有些文件在拷貝時會破壞其文件類型,例如軟鏈接文件等,導(dǎo)致本地端的vmware編譯環(huán)境遭到破壞。

可見,如何提升本地端編譯版本更新的工作效率和安全性,是本領(lǐng)域技術(shù)人員亟待解決的問題。



技術(shù)實現(xiàn)要素:

本發(fā)明實施例的目的是提供一種編譯版本自動更新的方法與裝置,可以。

為解決上述技術(shù)問題,本發(fā)明實施例提供一種編譯版本自動更新的方法,包括:

讀取svn端的版本控制文件,得到svn端版本號;其中,所述svn端版本號有其對應(yīng)的目標(biāo)腳本;

判斷差異記錄文件中是否記錄有本地端版本號;

若否,則從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新;

若是,則判斷所述本地端版本號與所述svn端版本號是否一致;

若不一致,則從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

可選的,在所述執(zhí)行目標(biāo)腳本之前,還包括:

當(dāng)?shù)谝晃募儆趬嚎s文件時,則對所述第一文件進行解壓縮處理;其中,所述第一文件為所述目標(biāo)腳本中包含的任意一個文件。

可選的,還包括:

接收用戶輸入的查詢指令,獲取所述svn端版本號對應(yīng)的差異文件;

判斷所述變更文件與所述差異文件是否一致;

若不一致,則重新從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

本發(fā)明實施例還提供了一種編譯版本自動更新的裝置,包括得到單元、第一判斷單元、第一處理單元、第二判斷單元和第二處理單元,

所述得到單元,用于讀取svn端的版本控制文件,得到svn端版本號;其中,所述svn端版本號有其對應(yīng)的目標(biāo)腳本;

所述第一判斷單元,用于判斷差異記錄文件中是否記錄有本地端版本號;

若否,則觸發(fā)所述第一處理單元,所述第一處理單元,用于從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新;

若是,則觸發(fā)所述第二判斷單元,所述第二判斷單元,用于判斷所述本地端版本號與所述svn端版本號是否一致;

若不一致,則觸發(fā)所述第二處理單元,所述第二處理單元,用于從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

可選的,還包括解壓縮單元,

所述解壓縮單元,用于當(dāng)?shù)谝晃募儆趬嚎s文件時,則對所述第一文件進行解壓縮處理;其中,所述第一文件為所述目標(biāo)腳本中包含的任意一個文件。

可選的,還包括獲取單元和判斷單元,

所述獲取單元,用于接收用戶輸入的查詢指令,獲取所述svn端版本號對應(yīng)的差異文件;

所述判斷單元,用于判斷所述變更文件與所述差異文件是否一致;

若不一致,則觸發(fā)所述第二處理單元,所述第二處理單元還用于重新從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

由上述技術(shù)方案可以看出,讀取svn端的版本控制文件,得到svn端版本號;在本地端設(shè)置有差異記錄文件,判斷差異記錄文件中是否記錄有本地端版本號;當(dāng)差異記錄文件中沒有本地端版本號的記錄信息時,則說明本地端的編譯版本還未進行過更新,此時,可以從svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新;當(dāng)差異記錄文件中記錄有本地端版本號時,則說明本地端的編譯版本在此之前已經(jīng)進行過更新,此時可以判斷本地端版本號與svn端版本號是否一致;若不一致,則說明需要對本地端的編譯版本進行更新,此時,可以從svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新??梢姡撨^程中本地端可以自動完成編譯版本的更新,有效的避免了因人工操作不當(dāng)引起的問題,提升了本地端編譯版本更新的工作效率和安全性。

附圖說明

為了更清楚地說明本發(fā)明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實施例提供的一種編譯版本自動更新的方法的流程圖;

圖2為本發(fā)明實施例提供的一種編譯版本自動更新的裝置的結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下,所獲得的所有其他實施例,都屬于本發(fā)明保護范圍。

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步的詳細(xì)說明。

接下來,詳細(xì)介紹本發(fā)明實施例所提供的一種編譯版本自動更新的方法。圖1為本發(fā)明實施例提供的一種編譯版本自動更新的方法的流程圖,該方法包括:

s101:讀取svn端的版本控制文件,得到svn端版本號。

研發(fā)成員可以通過commit命令,完成對svn端編譯環(huán)境的更新,也即對編譯版本進行更新。在svn端更新編譯版本時,會建立相應(yīng)的版本控制文件和自動更新腳本文件。

其中,版本控制文件可以用于記錄svn端編譯環(huán)境的版本號,可以將其簡稱為svn端版本號。自動更新腳本文件可以用于存儲與svn端版本號對應(yīng)的目標(biāo)腳本。

本地端可以通過讀取svn端的版本控制文件,獲知svn端版本號,以便于后續(xù)操作中,可以依據(jù)svn端版本號,判斷本地端編譯版本是否需要更新。

s102:判斷差異記錄文件中是否記錄有本地端版本號。

在本地端編譯版本進行更新時,可以建立差異記錄文件,在該差異記錄文件中可以記錄有本地端編譯版本對應(yīng)的腳本文件。

當(dāng)差異記錄文件中沒有記錄本地端版本號時,則說明本地端還未進行過編譯版本的更新,此時可以,執(zhí)行s103;

當(dāng)差異記錄文件中記錄有本地端版本號時,則可以獲取本地端版本號,并執(zhí)行s104。

s103:從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新。

本地端可以依據(jù)svn自有的export命令進行目標(biāo)腳本從svn端向本地端的傳遞。

在本地端執(zhí)行目標(biāo)腳本時,會生成本地端版本號記錄文件和svn端版本號記錄文件。

其中,本地端版本號記錄文件可以用于記錄本地端版本號;svn端版本號記錄文件可以用于記錄svn端版本號。這兩個文件是進行增量更新時的中間文件,依據(jù)這兩個版本號,可以獲取到版本間的差異數(shù)據(jù)。當(dāng)本地端完成編譯版本的更新后,這兩個文件會被移除。

在本地端第一次進行編譯版本的更新時,由于本地端的差異記錄文件中并未記錄有原來版本對應(yīng)的腳本文件,因此,在第一次更新本地端的編譯版本時,則可以將目標(biāo)腳本存儲于差異記錄文件中。

s104:判斷所述本地端版本號與所述svn端版本號是否一致。

當(dāng)本地端版本號與svn端版本號一致時,則在本地端無需進行編譯版本的更新。

當(dāng)本地端版本號與svn端版本號不一致時,此時需要對本地端進行編譯版本的更新,即執(zhí)行s105。

s105:從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

在本地端執(zhí)行目標(biāo)腳本時,可以生成相應(yīng)的變更文件,在該變更文件中記錄有本地端原有的編譯版本對應(yīng)的腳本文件與更新后的編譯版本對應(yīng)的腳本文件之間的差異數(shù)據(jù)。

當(dāng)本地端并非第一次進行編譯版本的更新時,此時本地端的差異記錄文件中會記錄有本地端原有的編譯版本對應(yīng)的腳本文件,因此,在更新本地端的編譯版本時,則可以直接將生成的變更文件中的數(shù)據(jù)存儲至差異記錄文件中即可,無需再將完整的目標(biāo)腳本存儲,減少了因為完全拷貝而需要等待的時間,進一步提升了本地端編譯版本更新的處理速度。

由上述技術(shù)方案可以看出,讀取svn端的版本控制文件,得到svn端版本號;在本地端設(shè)置有差異記錄文件,判斷差異記錄文件中是否記錄有本地端版本號;當(dāng)差異記錄文件中沒有本地端版本號的記錄信息時,則說明本地端的編譯版本還未進行過更新,此時,可以從svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新;當(dāng)差異記錄文件中記錄有本地端版本號時,則說明本地端的編譯版本在此之前已經(jīng)進行過更新,此時可以判斷本地端版本號與svn端版本號是否一致;若不一致,則說明需要對本地端的編譯版本進行更新,此時,可以從svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新??梢?,該過程中本地端可以自動完成編譯版本的更新,有效的避免了因人工操作不當(dāng)引起的問題,提升了本地端編譯版本更新的工作效率和安全性。

從svn端向本地端傳遞目標(biāo)腳本時,對于一些特殊文件,例如軟鏈接文件,在傳遞之前會先對該文件進行壓縮處理,然后再從svn端export到本地端,并在本地端進行解壓縮處理。需要說明的是,對于普通文件不需要做壓縮處理直接export到本地端即可。

以目標(biāo)腳本中包含的任意一個文件即第一文件為例,當(dāng)?shù)谝晃募儆趬嚎s文件時,則說明第一文件為目標(biāo)腳本中的特殊文件,則需要對所述第一文件進行解壓縮處理。

為了檢驗是夠順利完成了本地端編譯版本的更新,可以對該更新結(jié)果進行檢查。具體的,可以接收用戶輸入的查詢指令,獲取所述svn端版本號對應(yīng)的差異文件。

差異文件可以用于存儲svn端原先的編譯版本與更新后的編譯版本之間的差異數(shù)據(jù)。

查詢指令可以是用于獲取差異文件的指令。

通過判斷所述變更文件與所述差異文件是否一致,可以確認(rèn)本地端編譯版本的更新是否順利完成。

當(dāng)變更文件與所述差異文件一致時,則說明本地端編譯版本的更新已經(jīng)順利完成,則可以結(jié)束操作;當(dāng)變更文件與所述差異文件不一致時,則說明本地端編譯版本的更新尚未完成,則可以重新從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

圖2為本發(fā)明實施例提供的一種編譯版本自動更新的裝置的結(jié)構(gòu)示意圖,包括得到單元21、第一判斷單元22、第一處理單元23、第二判斷單元24和第二處理單元25,

所述得到單元21,用于讀取svn端的版本控制文件,得到svn端版本號;其中,所述svn端版本號有其對應(yīng)的目標(biāo)腳本。

所述第一判斷單元22,用于判斷差異記錄文件中是否記錄有本地端版本號。

若否,則觸發(fā)所述第一處理單元23,所述第一處理單元23,用于從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新。

若是,則觸發(fā)所述第二判斷單元24,所述第二判斷單元24,用于判斷所述本地端版本號與所述svn端版本號是否一致。

若不一致,則觸發(fā)所述第二處理單元25,所述第二處理單元25,用于從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

可選的,還包括解壓縮單元,

所述解壓縮單元,用于當(dāng)?shù)谝晃募儆趬嚎s文件時,則對所述第一文件進行解壓縮處理;其中,所述第一文件為所述目標(biāo)腳本中包含的任意一個文件。

可選的,還包括獲取單元和判斷單元,

所述獲取單元,用于接收用戶輸入的查詢指令,獲取所述svn端版本號對應(yīng)的差異文件;

所述判斷單元,用于判斷所述變更文件與所述差異文件是否一致;

若不一致,則觸發(fā)所述第二處理單元,所述第二處理單元還用于重新從所述svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新。

圖2所對應(yīng)實施例中特征的說明可以參見圖1所對應(yīng)實施例的相關(guān)說明,這里不再一一贅述。

由上述技術(shù)方案可以看出,讀取svn端的版本控制文件,得到svn端版本號;在本地端設(shè)置有差異記錄文件,判斷差異記錄文件中是否記錄有本地端版本號;當(dāng)差異記錄文件中沒有本地端版本號的記錄信息時,則說明本地端的編譯版本還未進行過更新,此時,可以從svn端拷貝并執(zhí)行目標(biāo)腳本,并將所述目標(biāo)腳本存儲于所述差異記錄文件中,完成本地端編譯版本的更新;當(dāng)差異記錄文件中記錄有本地端版本號時,則說明本地端的編譯版本在此之前已經(jīng)進行過更新,此時可以判斷本地端版本號與svn端版本號是否一致;若不一致,則說明需要對本地端的編譯版本進行更新,此時,可以從svn端拷貝并執(zhí)行目標(biāo)腳本,并將生成的變更文件中的數(shù)據(jù)保存至所述差異記錄文件中,完成本地端編譯版本的更新??梢?,該過程中本地端可以自動完成編譯版本的更新,有效的避免了因人工操作不當(dāng)引起的問題,提升了本地端編譯版本更新的工作效率和安全性。

以上對本發(fā)明實施例所提供的一種編譯版本自動更新的方法與裝置進行了詳細(xì)介紹。說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進行若干改進和修飾,這些改進和修飾也落入本發(fā)明權(quán)利要求的保護范圍內(nèi)。

專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。

結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1