【
技術(shù)領(lǐng)域:
:】本發(fā)明涉及通信
技術(shù)領(lǐng)域:
:,尤其涉及一種存儲(chǔ)代碼的方法及終端。
背景技術(shù):
::源碼開(kāi)發(fā)者經(jīng)常會(huì)遇到同時(shí)開(kāi)發(fā)同基線多個(gè)項(xiàng)目的情況,需要獲取所有項(xiàng)目的源碼到本地pc(personalcomputer,個(gè)人電腦)?,F(xiàn)有技術(shù)中,將所有項(xiàng)目的源碼壓縮成各自的包下載至本地pc后,存放在各項(xiàng)目的指定獨(dú)立文件夾中,再解壓縮,分別調(diào)用各項(xiàng)目的源碼。這樣,每獲取一個(gè)項(xiàng)目的源碼,就會(huì)存在一套源碼壓縮包(包括所有項(xiàng)目的源碼),且一套源碼壓縮包很大,10g甚至100g,這樣就占用了pc硬盤(pán)的很大空間,從而浪費(fèi)了pc的硬盤(pán)資源。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明實(shí)施例提供了一種存儲(chǔ)代碼的方法及終端,同基線若干個(gè)項(xiàng)目公用公共文件夾的代碼壓縮包,去除了重復(fù)的代碼壓縮包,減少終端硬盤(pán)的占用。一方面,本發(fā)明實(shí)施例提供一種存儲(chǔ)代碼的方法,適用于終端,所述方法包括:當(dāng)所述終端存在同基線的若干個(gè)項(xiàng)目時(shí),將指定項(xiàng)目的指定獨(dú)立文件夾中的代碼壓縮包移動(dòng)至指定公共文件夾;刪除所述指定項(xiàng)目外其它項(xiàng)目中各指定獨(dú)立文件夾中的代碼壓縮包;建立所述若干個(gè)項(xiàng)目的各指定獨(dú)立文件夾指定到所述指定公共文件夾的鏈接。另一方面,本發(fā)明實(shí)施例提供一種終端,所述終端包括:移動(dòng)單元,用于當(dāng)所述終端存在同基線的若干個(gè)項(xiàng)目時(shí),將指定項(xiàng)目的指定獨(dú)立文件夾中的代碼壓縮包移動(dòng)至指定公共文件夾;刪除單元,用于刪除所述指定項(xiàng)目外其它項(xiàng)目中各指定獨(dú)立文件夾中的代碼壓縮包;第一建立單元,用于建立所述若干個(gè)項(xiàng)目的各指定獨(dú)立文件夾指定到所述指定公共文件夾的鏈接。本發(fā)明實(shí)施例提供了一種存儲(chǔ)代碼的方法及終端,將同一基線若干個(gè)項(xiàng)目獨(dú)立文件夾中的代碼壓縮包存放在公共文件夾中,若干個(gè)項(xiàng)目公用公共文件夾的代碼壓縮包,去除了重復(fù)的代碼壓縮包,減少終端硬盤(pán)的占用,節(jié)省了大量終端硬盤(pán)空間?!靖綀D說(shuō)明】為了更清楚地說(shuō)明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其它的附圖。圖1是本發(fā)明實(shí)施例提供的一種存儲(chǔ)代碼的方法流程圖;圖2是本發(fā)明實(shí)施例提供的另一種存儲(chǔ)代碼的方法流程圖;圖3是本發(fā)明實(shí)施例提供的另一種存儲(chǔ)代碼的方法流程圖;圖4是本發(fā)明實(shí)施例提供的另一種存儲(chǔ)代碼的方法流程圖;圖5是本發(fā)明實(shí)施例提供的一種代碼壓縮包存儲(chǔ)優(yōu)化前后的示意圖;圖6是本發(fā)明實(shí)施例提供的一種終端的組成框圖;圖7是本發(fā)明實(shí)施例提供的另一種終端的組成框圖;圖8是本發(fā)明實(shí)施例提供的另一種終端的組成框圖。【具體實(shí)施方式】為了更好的理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。在本發(fā)明實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。本發(fā)明實(shí)施例提供了一種存儲(chǔ)代碼的方法,適用于終端,應(yīng)用于終端存儲(chǔ)代碼過(guò)程中,如圖1所示,所述方法包括:101、當(dāng)所述終端存在同基線的若干個(gè)項(xiàng)目時(shí),將指定項(xiàng)目的指定獨(dú)立文件夾中的代碼壓縮包移動(dòng)至指定公共文件夾。其中,所述終端包括但不限于個(gè)人計(jì)算機(jī)(personalcomputer,pc)、個(gè)人數(shù)字助理(personaldigitalassistant,pda)、無(wú)線手持設(shè)備、平板電腦(tabletcomputer)、手機(jī)等?;€是項(xiàng)目?jī)?chǔ)存庫(kù)中每個(gè)工件版本在特定時(shí)期的一個(gè)“快照”,即當(dāng)同一基線有若干個(gè)項(xiàng)目時(shí),每個(gè)項(xiàng)目的代碼壓縮包中都包括在此時(shí)期所有項(xiàng)目的代碼資源。其中,所述指定項(xiàng)目的代碼壓縮包為所述若干個(gè)項(xiàng)目中最新更新的,即包括所述若干個(gè)項(xiàng)目最新版本的代碼資源。其中,指定獨(dú)立文件指的是每個(gè)項(xiàng)目存放代碼壓縮包的特定文件夾。如所述終端通過(guò)repoinit和reposync方式獲取項(xiàng)目代碼時(shí),代碼壓縮包存放在每個(gè)項(xiàng)目下的.repo/project-objects/和.repo/projects文件夾。其中,所述指定公共文件夾指的是同基線下的若干個(gè)項(xiàng)目可以共用的文件夾。比如可以是public-project-object/6767-6.0/project-objects和public-project-object/6767-6.0/projects,其中6767-6.0是基線名稱。102、刪除所述指定項(xiàng)目外其它項(xiàng)目中各指定獨(dú)立文件夾中的代碼壓縮包。當(dāng)將所述指定項(xiàng)目的指定獨(dú)立文件夾中的代碼壓縮包移動(dòng)至指定公共文件夾后,刪除指定項(xiàng)目外其它項(xiàng)目的相同目錄下的代碼壓縮包,去除重復(fù)的代碼資源,使所述若干個(gè)項(xiàng)目公用所述指定公共文件夾的代碼壓縮包。103、建立所述若干個(gè)項(xiàng)目的各指定獨(dú)立文件夾指定到所述指定公共文件夾的鏈接。為了使所述若干個(gè)項(xiàng)目能夠使用所述公共文件夾的代碼壓縮包,需要將所述若干個(gè)項(xiàng)目的各指定獨(dú)立文件夾鏈接到所述指定公共文件夾。本發(fā)明實(shí)施例提供了一種存儲(chǔ)代碼的方法,將同一基線若干個(gè)項(xiàng)目獨(dú)立文件夾中的代碼壓縮包存放在公共文件夾中,若干個(gè)項(xiàng)目公用公共文件夾的代碼壓縮包,去除了重復(fù)的代碼壓縮包,減少終端硬盤(pán)的占用,節(jié)省了大量終端硬盤(pán)空間。進(jìn)一步來(lái)說(shuō),結(jié)合前述方法流程,當(dāng)所述若干個(gè)項(xiàng)目中其中一個(gè)項(xiàng)目有更新時(shí),所述指定公共文件中的代碼壓縮包進(jìn)行更新。進(jìn)一步來(lái)說(shuō),結(jié)合前述方法流程,對(duì)于新開(kāi)始的同基線項(xiàng)目(新項(xiàng)目)的獲取,利用現(xiàn)有的代碼壓縮包獲取所述新項(xiàng)目的代碼,無(wú)需再重新獲取整個(gè)代碼壓縮包,只是在現(xiàn)有的代碼壓縮包的基礎(chǔ)上獲取與遠(yuǎn)程服務(wù)器的差異部分,可以節(jié)省大量的時(shí)間。因此當(dāng)所述終端獲取所述新項(xiàng)目的代碼時(shí),本發(fā)明實(shí)施例的另一種可能的實(shí)現(xiàn)方式還提供了以下方法流程,如圖2所示,包括:104、建立所述新項(xiàng)目的代碼樹(shù)映射。代碼樹(shù),是代碼組成的樹(shù),樹(shù)的葉子節(jié)點(diǎn)是代碼文件,非葉子節(jié)點(diǎn)是文件夾比如,有個(gè)文件夾a,下面有文件a.c和文件a.b,a.b下面又有文件夾a.b.m或a.b.n文件那么,a就可以看作一個(gè)代碼樹(shù)。代碼樹(shù)映射指的是與代碼樹(shù)對(duì)應(yīng)的文件夾集合。105、建立所述代碼樹(shù)映射中指定獨(dú)立文件夾指定到所述指定公共文件夾的鏈接。為了使所述新項(xiàng)目能夠使用所述公共文件夾的代碼壓縮包,需要將所述新項(xiàng)目的指定獨(dú)立文件夾鏈接到所述指定公共文件夾。106、根據(jù)所述新項(xiàng)目的代碼資源更新所述指定公共文件夾的代碼壓縮包。根據(jù)遠(yuǎn)程服務(wù)器的所述新項(xiàng)目的代碼資源,更新所述指定公共文件夾的代碼壓縮包,包括添加所述新項(xiàng)目的代碼壓縮包和/或替換舊版本的代碼壓縮包。進(jìn)一步來(lái)說(shuō),結(jié)合前述方法流程,針對(duì)如何根據(jù)所述新項(xiàng)目的代碼資源更新所述指定公共文件夾的代碼壓縮包,本發(fā)明實(shí)施例的另一種可能的實(shí)現(xiàn)方式還提供以下兩種實(shí)現(xiàn)方法。第一種實(shí)現(xiàn)方法,如圖3所示,包括:1061、在所述指定公共文件夾添加新的代碼壓縮包。當(dāng)已有的若干個(gè)項(xiàng)目的代碼沒(méi)有更新時(shí),在所述指定公共文件夾添加所述新項(xiàng)目的代碼壓縮包。第二種實(shí)現(xiàn)方法,如圖4所示,包括:1062、將新版本的代碼壓縮包替換所述公共文件夾中舊版本的代碼壓縮包。當(dāng)已有的若干個(gè)項(xiàng)目的代碼有更新時(shí),還要將新版本的代碼壓縮包替換所述公共文件夾中舊版本的代碼壓縮包。為了進(jìn)一步闡述本發(fā)明的技術(shù)思想,現(xiàn)結(jié)合具體的應(yīng)用場(chǎng)景,對(duì)本發(fā)明的技術(shù)方案進(jìn)行說(shuō)明。假設(shè)現(xiàn)在技術(shù)人員王某的pc硬盤(pán)同時(shí)存在高通89376.0基線的項(xiàng)目a、b、c、d每個(gè)項(xiàng)目的一套代碼。依照本發(fā)明的技術(shù)方案存儲(chǔ)代碼,以減少重復(fù)冗余的代碼資源,具體優(yōu)化步驟如下:步驟1、將項(xiàng)目a、b、c、d的隨意一套代碼(最好是近期更新過(guò)的),此處假設(shè)為項(xiàng)目a,的.repo/project-objects和.repo/projects文件中的代碼壓縮包移至外面的路徑中,比如放置在public-project-object/8937-6.0中。步驟2、將項(xiàng)目b、c、d下的.repo/project-objects和.repo/projects文件夾中的代碼壓縮包刪除。步驟3、建立項(xiàng)目a、b、c、d下各.repo/project-objects指定到public-project-object/8937-6.0/project-objects和.repo/projects指定到public-project-object/8937-6.0/projects的鏈接,即a、b、c、d四個(gè)項(xiàng)目全部公用自public-project-object/8937-6.0。以一套代碼壓縮包的大小為100g進(jìn)行示意,如圖5所示,為高通89376.0基線項(xiàng)目a、b、c、d的代碼壓縮包存儲(chǔ)優(yōu)化前后的示意圖。本發(fā)明實(shí)施例提供了一種終端,適用于上述方法流程,如圖6所示,所述終端包括:移動(dòng)單元21,用于當(dāng)所述終端存在同基線的若干個(gè)項(xiàng)目時(shí),將指定項(xiàng)目的指定獨(dú)立文件夾中的代碼壓縮包移動(dòng)至指定公共文件夾。刪除單元22,用于刪除所述指定項(xiàng)目外其它項(xiàng)目中各指定獨(dú)立文件夾中的代碼壓縮包。第一建立單元23,用于建立所述若干個(gè)項(xiàng)目的各指定獨(dú)立文件夾指定到所述指定公共文件夾的鏈接。可選的是,如圖7所示,所述終端還包括:第二建立單元24,用于建立所述新項(xiàng)目的代碼樹(shù)映射。第三建立單元25,用于建立所述代碼樹(shù)映射中指定獨(dú)立文件夾指定到所述指定公共文件夾的鏈接。更新單元26,用于根據(jù)所述新項(xiàng)目的代碼資源更新所述指定公共文件夾的代碼壓縮包??蛇x的是,如圖8所示,所述更新單元26,包括:添加模261,用于在所述指定公共文件夾添加新的代碼壓縮包。和/或,替換模塊262,用于將新版本的代碼壓縮包替換所述公共文件夾中舊版本的代碼壓縮包??蛇x的是,當(dāng)所述若干個(gè)項(xiàng)目中其中一個(gè)項(xiàng)目有更新時(shí),所述指定公共文件中的代碼壓縮包進(jìn)行更新??蛇x的是,所述指定項(xiàng)目的代碼壓縮包為所述若干個(gè)項(xiàng)目中最新更新的。本發(fā)明實(shí)施例提供了一種終端,將同一基線若干個(gè)項(xiàng)目獨(dú)立文件夾中的代碼壓縮包存放在公共文件夾中,若干個(gè)項(xiàng)目公用公共文件夾的代碼壓縮包,去除了重復(fù)的代碼壓縮包,減少終端硬盤(pán)的占用,節(jié)省了大量終端硬盤(pán)空間。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)裝置(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)裝置等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(read-onlymemory,rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,ram)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12