TW202416194A - 用以提供代碼資訊之電子裝置及其方法 - Google Patents
用以提供代碼資訊之電子裝置及其方法 Download PDFInfo
- Publication number
- TW202416194A TW202416194A TW112122883A TW112122883A TW202416194A TW 202416194 A TW202416194 A TW 202416194A TW 112122883 A TW112122883 A TW 112122883A TW 112122883 A TW112122883 A TW 112122883A TW 202416194 A TW202416194 A TW 202416194A
- Authority
- TW
- Taiwan
- Prior art keywords
- information
- conflict
- branch
- code
- operator
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012360 testing method Methods 0.000 claims abstract description 35
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000006870 function Effects 0.000 description 48
- 238000011161 development Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 4
- 239000000470 constituent Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 2
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Abstract
本發明係關於一種用以提供代碼資訊之電子裝置及其方法,本發明之實施例之藉由電子裝置進行之代碼資訊提供方法包括:自至少一個作業人員終端獲得專案資訊之步驟;自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊之步驟;為了進行衝突測試,基於上述至少兩個分支資訊之組合來確認合併組合之步驟;及基於對上述合併組合實行上述衝突測試之結果,向上述至少一個作業人員終端提供代碼衝突資訊之步驟。
Description
本發明係關於一種用以提供代碼資訊之電子裝置及其方法。更具體而言,本發明係關於一種為專案(project)提供複數個作業人員製作之代碼之衝突(conflict)資訊之電子裝置及其方法。
藉由資訊通訊技術之融合而實現之新一代產業革命即第四次產業革命成為核心話題後,軟體技術之重要性日益凸顯。軟體技術可利用於遍存計算、物聯網、無人駕駛汽車、人工智慧、機器人、區塊鏈等各種領域,隨著反映市場目標及用戶需求而實現軟體製品之趨勢,多個開發者投入之開發專案正在盛行。
多個開發者投入之開發專案係將分配給每個開發者之作業之產物合併來完成一個專案。然而,於合併由各開發者作業之源代碼時,發生物理或邏輯衝突之可能性明顯較高,正在提出用以提高由多個開發者完成之專案之生產率之各種方案。作為代表,提出了以最新句型代替發生源代碼間之衝突之句型之源代碼自動合併功能,然而,存在如下問題:開發者之意圖難以準確地反映於自動合併結果中,開發內容發生損失。因此,越來越需要一種如下之技術:用以準確地反映開發者之意圖,開發內容不會發生損失,提高專案之生產率。
與此相關,可參照KR1020210147354A及KR1020210090575A等先前文獻。
[發明所欲解決之問題]
本發明之目的在於:為了解決上述問題,提供一種向作業人員提供代碼資訊之電子裝置及其方法。
具體而言,於由多個作業人員實行之與專案相關之作業過程中,各作業人員於各自之分支(branch)中修正及更新與專案相關之代碼,因此,隨著複數個作業人員修正同一專案之代碼,可能會發生衝突(conflict),曾可藉由用以發佈服務之構建過程中實行合併(merge)來確認是否發生如上所述之衝突,但本發明之目的在於提供一種如下之電子裝置及其方法:週期性地監控各分支之代碼是否衝突,向作業人員提供感測到之衝突之資訊,從而於發佈服務之前即可解決衝突問題。
又,本發明之目的在於:提供一種用以向作業人員提供與專案相關之作業現狀資訊之電子裝置及其方法。
本發明欲解決之技術問題並不限定於如上所述之技術問題,可根據以下之實施例中推導出其他技術問題。
[解決問題之技術手段]
一種本發明之實施例之藉由電子裝置進行之代碼資訊提供方法,其包括:自至少一個作業人員終端獲得專案資訊之步驟;自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊之步驟;為了進行衝突測試(conflict test),基於上述至少兩個分支資訊之組合來確認合併(merge)組合之步驟;及基於對上述合併組合實行上述衝突測試之結果,向上述至少一個作業人員終端提供代碼衝突資訊之步驟。
例如,上述代碼衝突資訊包括針對上述合併組合產生之第1衝突資訊清單,上述衝突資訊清單包括針對上述合併組合發生衝突之分支資訊、與上述衝突相關之檔案資訊、及與上述分支資訊對應之標籤資訊中之至少一部分。
例如,上述代碼資訊提供方法進而包括如下步驟:於獲得與上述第1衝突資訊清單對應之第1作業人員輸入之情形時,向第1作業人員終端提供針對與上述第1作業人員輸入對應之檔案資訊發生衝突之代碼部分資訊。
例如,上述代碼資訊提供方法進而包括:自上述至少一個作業人員終端獲得作業人員識別資訊之步驟;及向上述至少一個作業人員終端提供與上述作業人員識別資訊對應之第2衝突資訊清單之步驟。
例如,上述代碼資訊提供方法進而包括:自上述至少一個作業人員終端獲得分支識別資訊之步驟;及向上述至少一個作業人員終端提供與上述分支識別資訊對應之第3衝突資訊清單之步驟。
例如,上述代碼衝突資訊包括對同一檔案實行作業之作業人員資訊清單,上述作業人員資訊清單包括與上述檔案對應之分支資訊、與上述分支資訊對應之標籤資訊、及與上述檔案對應之提交資訊中之至少一部分。
例如,上述代碼資訊提供方法於獲得與上述第1作業人員資訊清單對應之第2作業人員輸入之情形時,向第2作業人員終端提供與上述第2作業人員輸入對應之檔案資訊之代碼變更資訊。
例如,上述代碼衝突資訊包括自主分支資訊衍生之分支資訊清單。
例如,為了實行上述衝突測試而確認與上述專案資訊相關之合併組合之步驟係於獲得與上述至少兩個分支資訊中之至少一部分相關之提交(commit)資訊之情形時實行。
例如,為了實行上述衝突測試而確認與上述專案資訊相關之合併組合之步驟係按照由上述電子裝置之管理者設置之週期來實行。
例如,上述合併組合包括上述至少兩個分支資訊間之合併組合、與第1分支資訊相關之至少兩個檔案資訊間之合併組合、及第1檔案資訊所包括之程式代碼之合併組合中之至少一部分。
本發明之實施例之與硬體結合而儲存於電腦可讀儲存媒體以提供代碼資訊之電腦程式係自至少一個作業人員終端獲得專案資訊,自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊,為了進行衝突測試而基於上述至少兩個分支資訊之組合來確認合併組合,基於對上述合併組合實行上述衝突測試之結果,將代碼衝突資訊提供至上述至少一個作業人員終端。
本發明之實施例之提供代碼資訊之電子裝置包括:收發器、儲存命令之記憶體及處理器,與上述收發器及上述記憶體連接之上述處理器如下:自至少一個作業人員終端獲得專案資訊,自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊,為了進行衝突測試,基於上述至少兩個分支資訊之組合來確認合併組合,基於對上述合併組合實行上述衝突測試之結果,將代碼衝突資訊提供至上述至少一個作業人員終端。
[發明之效果]
本發明之用以提供代碼資訊之電子裝置及其方法係針對與專案相關之複數個程式代碼而於用以發佈服務之構建過程之前,預先確認因對與專案相關之各代碼單獨進行修正而產生之衝突資訊,將該衝突資訊提供給作業人員,藉此可預先通知衝突情況而搶先地消除衝突,提高專案之生產率。
又,本發明之用以提供代碼資訊之電子裝置及其方法可藉由向作業人員提供與專案相關之作業現狀而向作業人員直觀地提供專案進行情況的資訊。
本發明之效果並不限制於上述效果,於本發明之技術領域內具有常識者可根據發明申請專利範圍之記載明確地理解未提及之其他效果。
以下,明確且詳細地記載本發明之實施例,以使於本發明之技術領域內具有常識者可容易地實施本發明。
本說明書中使用之用語係用以說明實施例,而並非旨在限制本發明。若無其他定義,則本說明書中使用之所有用語(包括技術及科學用語)能夠以本發明所屬之技術領域內具有常識者可共同理解之含義來使用,但會根據本領域之技術人員之意圖或案例、新技術之出現等而有所不同。
又,若無特別明確之定義,則不理想或過度地解釋通常使用之詞典中定義之用語。於特定之情形時,亦有申請人任意選擇之用語,於該情形時,將於相應之說明部分詳細地記載其含義。因此,本發明中使用之用語應基於該用語所具有之含義及本發明之全部內容來界定,而而並非簡單地基於用語之名稱來界定。
於整篇本說明書中,若無特別相反之記載,則於記載為某個部分“包括”某個構成要素時,意味著可進而包括其他構成要素,而並非排除其他構成要素。又,若未於文中特別提及,則本發明中使用之單數型亦包括複數型。又,整篇說明書中記載之“a、b及c中之至少一者”之表述可包括“單獨之a”、“單獨之b”、“單獨之c”、“a及b”、“a及c”、“b及c”或“a、b、c三者”。
另一方面,本發明中使用之“第1及/或第2”等用語可用於說明各種構成要素,但僅用以將一個構成要素與其他構成要素區分開來,並非用以限定為以該用語指代之構成要素。例如,只要不脫離本發明之權利範圍,則可將第1構成要素命名為第2構成要素,亦可將第2構成要素命名為第1構成要素。
又,本說明書中記載之“…部”、“…模組”等用語是指對至少一個功能或動作進行處理之單位,其可由硬體或軟體實現,或者由硬體與軟體之結合實現。又,本發明之實施例可由功能塊構成及各種處理步驟表示。此種功能塊可藉由執行特定功能之不同個數之硬體或/及軟體構成來實現。例如,本發明之實施例可採用能夠藉由一個以上之微處理器之控制或其他控制裝置而執行各種功能之積體電路構成,如記憶體、處理、邏輯(logic)、查找表(look-up table)等。
構成要素可藉由軟體程式或軟體元件而執行,與此相似,本實施例包括以資料構造、程序、常式或其他程式構成之組合實現之演算法,因此可藉由如C、C++、Java、組譯程式(assembler)等之程式或腳本語言來實現。於功能方面而言,可藉由在一個以上之處理器中執行之演算法來實現。又,本實施例可採用先前技術來進行電子環境設定、信號處理及/或資料處理。“機制”、“元件”、“機構”、“構成”等用語可廣泛地使用,並不限定於機械與物理構成。上述用語可與處理器等關聯而包括軟體之一連串之處理(routines)之含義。
本說明書中隨附之處理流程圖之各方塊與流程圖之組合可藉由電腦程式指令而實行。該等電腦程式指令可裝載於通用電腦、特殊用電腦或其他可編程資料處理設備之處理器,因此藉由電腦或其他可編程資料處理設備之處理器而實行之該等指令會產生實行流程圖之方塊中說明之功能的方法。
為了以特定方式實現功能,該等電腦程式指令可儲存於可面向電腦或其他可編程資料處理設備之電腦可用或電腦可讀記憶體,儲存於該電腦可用或電腦可讀記憶體中之指令亦可產生包含實行流程圖之方塊中說明之功能之指令方法的製造品項。
電腦程式指令亦可裝載於電腦或其他可編程資料處理設備上,因此於電腦或其他可編程資料處理設備上實行一連串之動作步驟而產生由電腦執行之流程,從而由電腦或其他可編程資料處理設備實行之指令亦可提供用以執行流程圖之方塊中說明之功能的步驟。
又,各方塊可表示包括用以執行特定之邏輯功能之一個以上之可執行指令的模組、片段或代碼之一部分。又,於若干替代實施例中,亦可不按順序產生方塊中提及之功能。例如,相繼表示之兩個方塊實質上可同時實行,亦可偶爾根據對應之功能而按照相反之順序實行。
本說明書中提及之“電子裝置”或“終端”可由電腦或攜帶用終端來實現,該電腦或攜帶用終端可藉由網路而與伺服器或其他終端連接。此處,電腦例如包括裝載有網頁瀏覽器(WEB Browser)之筆記型電腦、桌上型電腦(desktop)、膝上型電腦(laptop)等,攜帶用終端作為確保攜帶性及行動性之無線通訊裝置,例如可包括IMT(International Mobile Telecommunication,國際行動通訊)、CDMA(Code Division Multiple Access,分碼多重存取)、W-CDMA(W-Code Division Multiple Access,寬頻分碼多重存取)、LTE(Long Term Evolution,長期演進)等通訊終端、如智慧型手機、平板電腦等所有類型之手持式(Handheld)無線通訊裝置。又,本說明書中提及之“電子裝置”或“終端”亦可包括處理器、儲存並執行程式資料之記憶體、如磁碟驅動器之永久儲存器(permanent storage)、與外部裝置進行通訊之通訊埠、如觸控面板、按鍵(key)、按鈕等用戶介面裝置等。
於本發明中,藉由軟體模組或演算法實現之方法作為可於處理器上執行之電腦可讀代碼或程式命令,可儲存於電腦可讀記錄媒體上。此處,電腦可讀記錄媒體可包括磁儲存媒體(例如,ROM(read-only memory,唯讀記憶體)、RAM(random-Access memory,隨機存取記憶體)、軟磁碟、硬磁碟等)及光學讀取媒體(例如,光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD:Digital Versatile Disc))等。電腦可讀記錄媒體可分散於藉由網路連接之電腦系統而執行。
以下,參照附圖,詳細地對本發明之實施例進行說明。於對實施例進行說明時,省略本發明所屬之技術領域內熟知且與本發明無直接關聯之技術內容之說明。其原因在於:藉由省略多餘之說明而清晰地傳達本發明之主旨,以避免混淆本發明之主旨。出於相同之原因,於附圖中誇張、省略或概略地表示一部分構成要素。又,各構成要素之尺寸並非完全反映實際尺寸。於本發明中,全文中相同之參照符號可指相同或對應之構成要素。
圖1係表示本發明之實施例之用以提供代碼資訊之系統的圖。參照圖1,本發明之實施例之用以提供代碼資訊之系統10可包括電子裝置110及第1至第n作業人員終端120_1、120_2、…、120_n。電子裝置110可藉由網路而與第1至第n作業人員終端120_1、120_2、…、120_n相互實行通訊,交換資訊。
例如,網路可包括PAN(Personal Area Network,個人區域網)、LAN(Local Area Network,區域網)、CAN(Campus Area Network,校園區域網)、MAN(Metropolitan Area Network,都會區域網)、WAN(Wide Area Network,廣域網)、BBN(Broad Band Network,寬頻網)、網際網路中之至少一個網路。又,網路可包括網路拓樸中之至少一種,該網路拓樸包括匯流排網路、星形網路、環形網路、網狀網路、星形匯流排網路、樹形或階層式(Hierarchical)網路等。於本發明之實施例中,電子裝置110與第1至第n作業人員終端120_1、120_2、…、120_n間之通訊方式並不限制於上述網路之種類,不僅包括利用網路可包括之通訊網之通訊方式,而且亦可包括設備間之近距離無線通訊。
於本發明之實施例中,電子裝置110可包括收發器、記憶體及處理器。又,電子裝置110是指對至少一個功能或動作進行處理之單元,其可由硬體、軟體或硬體與軟體之結合來實現。於實施例中,電子裝置110可包括由網路伺服器實現之多個電腦系統或電腦軟體。例如,電子裝置110可指如下之電腦系統及電腦軟體:藉由如內部網路或網際網路之電腦網路而連接至可與其他網路伺服器進行通訊之下位裝置來接收作業實行請求,對其實行作業而提供實行結果。
除此之外,電子裝置110可理解為如下之廣義概念:包括可於網路伺服器上進行動作之一連串之應用程式、及構建於內部之各種資料庫。例如,電子裝置110可利用根據磁碟作業系統(Disk Operating System,DOS)、Windows、Linux、Unix或MacOS等各種操作系統提供之網路伺服器程式來實現。
於本發明之實施例中,電子裝置110可自第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者獲得與專案相關之程式代碼。程式代碼可包括在與專案相關之檔案資訊中,可包括複數個碼區。電子裝置110於對與專案相關之複數個程式代碼實行合併(merge)之前,可週期性地對程式代碼實行衝突測試,基於衝突測試之結果,將代碼衝突資訊提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者。
另一方面,於實施例中,各作業人員可於各作業人員終端120_1、120_2、…、或120_n中進行作業,但並不限制於此,可在與專案相關之伺服器中更新與作業人員對應之分支上作業之代碼。如上所述,可藉由確認與專案相關之所有分支目錄後對其預先確認是否衝突而根據作業人員之修正來確認是否發生衝突,藉此可修正不期望之衝突。
根據本發明之實施例,自電子裝置110提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者之代碼衝突資訊可包括發生代碼衝突之分支(branch)資訊、發生代碼衝突之檔案(file)資訊、對發生代碼衝突之檔案實行作業之作業人員資訊、發生代碼衝突之代碼部分資訊、實行修正作業所得之代碼變更資訊、與分支資訊對應之標籤資訊、與檔案資訊對應之提交(commit)資訊中之至少一部分。提交作業可指將追加之檔案資訊或完成編輯之檔案資訊儲存於儲存庫中之作業,於本發明之實施例中,提交資訊可包括與提交作業相關之資訊。自電子裝置110提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者之代碼衝突資訊所包括之詳細資訊可根據電子裝置110提供之功能而不同,根據電子裝置110之功能而提供之代碼衝突資訊將於下文敍述之圖4a至圖6中詳細地進行說明。
雖未圖示,但於本發明之實施例中,用以提供代碼資訊之系統10可進而包括用以儲存自電子裝置110提供之專案相關資訊之伺服器。儲存於伺服器中之專案相關資訊可包括來自第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者之與專案相關之程式代碼、與各程式代碼相關之作業資訊、及藉由電子裝置110而導出之代碼衝突資訊中之至少一部分。於實施例中,伺服器可為用以對儲存之資訊進行保密之構成,且可為電子裝置110中包括之構成、或獨立於電子裝置110之構成。另一方面,電子裝置110可基於提交資訊來實行推送作業。推送作業可指將追加之檔案資訊或完成編輯之檔案資訊儲存於遠距儲存庫中之作業,於實施例中,遠距儲存庫可為上述伺服器。
於實施例中,伺服器可進而儲存基於自電子裝置110獲得之專案相關資訊而導出之專案歷史資訊。又,伺服器可將響應於作業人員之請求而儲存之專案相關資訊中之至少一部分提供至第1至第n作業人員終端120_1、120_2、…、120_n中的至少一部分。又,於本發明之實施例中,電子裝置110可將與專案相關之作業現狀資訊提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者。與專案相關之作業現狀資訊可自伺服器中儲存之專案相關資訊及專案歷史資訊導出,可響應於作業人員之請求而提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者。
根據本發明之實施例,在對與專案相關之複數個程式代碼實行合併之前,向作業人員提供藉由單獨修正各代碼而產生之衝突資訊,藉此可預先通知衝突情況而搶先地消除衝突來提高專案之生產率。又,根據本發明,可藉由向作業人員提供與專案相關之作業現狀而向作業人員直觀地提供專案實行情況之資訊。以下,於圖2至圖7中,對本發明之實施例之用以提供代碼資訊之方法的詳細說明進行敍述。
圖2係表示根據本發明之實施例來提供代碼資訊之專案200之資料構造的圖。參照圖2,可自一個專案200衍生出主分支(master branch)MB、開發分支(develop branch)DB、第1特徵分支(feature branch)FB1及第2特徵分支FB2。然而,圖2所示之資料構造20僅為幫助理解本發明之一例,而並非根據本發明之實施例來限制提供代碼資訊之資料構造20,資料構造20可根據專案200之目標適應性地構建。
主分支MB可為用以管理與專案200相關之發佈(release)歷史之分支,能夠對處於可發佈狀態之檔案集進行管理。圖2中表示有包括第1主檔案集210及第2主檔案集220之主分支MB,可發佈自第1主檔案集210構建之第1程式或自第2主檔案集220構建之第2程式,第2程式可為第1程式之另一版本。第1主檔案集210及第2主檔案集220中包括之複數個檔案可分別為藉由第1至第n作業人員終端120_1、120_2、…、120_n提交之檔案。
開發分支DB可為如下之分支:對用以開發與專案200相關之各種功能之分支實行合併。在與開發分支DB相關之檔案集包括與要發佈之程式相關之所有功能且錯誤被修正而處於可發佈之穩定狀態的情形時,開發分支DB可合併至主分支MB。圖2之第1至第3開發檔案集211、212、213可分別包括用以開發與第2主檔案集220對應之程式相關之各種功能的複數個檔案,於實施例中,第2開發檔案集212來自第1開發檔案集211,第3開發檔案集213可為第2開發檔案集212更新後之版本之檔案集,或者第1至第3開發檔案集211、212、213可分別為用以實現與對應於第2主檔案集220之程式相關之獨立功能之檔案集。第1至第3開發檔案集211、212、213各自包括之複數個檔案分別可為藉由第1至第n作業人員終端120_1、120_2、…、120_n提交之檔案。
第1特徵分支FB1及第2特徵分支FB2可為如下之分支:為了開發與專案200相關之新功能及修正錯誤而自開發分支(DB)分支出來。於完成與第1特徵分支FB1及第2特徵分支FB2相關之作業之情形時,與第1特徵分支FB1及第2特徵分支FB2相關之檔案集可合併為開發分支DB。圖2表示如下情形之資料構造(20):與第2特徵分支FB2相關之作業完成,第2-1特性檔案集212_1及第2-2特性檔案集212_2中之至少一者合併至開發分支DB,正在進行與第1特徵分支FB1相關之作業。
除此之外,本發明之實施例之專案200之資料構造20於為了準備製品上市版本而自開發分支DB分支出來之發佈分支(release branch)及發佈之製品版本發生緊急修正事項的情形時,可進而包括自主分支MB分支出來之熱修復分支(hotfix branch)中之至少一者以處理該情形。本說明書中所指之分支資訊可為與專案200相關之主分支MB、開發分支DB、特徵分支FB1、FB2、發佈分支及熱修復分支中至少一者對應之資訊,分支資訊可包括與該分支相關之檔案集之資訊。又,本說明書中所指之檔案資訊可包括檔案集中包括之至少一個檔案之資訊,檔案資訊可包括與該檔案相關之程式代碼之資訊。
另一方面,於實施例中,專案中之分支可根據作業人員而具有不同之構造,本說明書之實施例可藉由如下方式預先確認是否發生衝突:確認與該專案相關之所有分支目錄,分別對分支目錄中之各分支之組合搶先地實行合併(merge)。
圖3係用以說明本發明之實施例之代碼資訊提供方法之順序圖。
於步驟S310中,本發明之實施例之電子裝置110可自第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者獲得專案資訊。專案資訊可包括與該專案相關之基礎檔案資訊集,基礎檔案資訊集可包括用以實現與專案相關之程式之複數個程式代碼。
於步驟S320中,本發明之實施例之電子裝置110可自第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者獲得與專案相關之至少兩個分支資訊。分支資訊可為與對基礎檔案資訊集所包括之至少一個檔案資訊完成修正之檔案對應之分支資訊、及對應於與專案相關而嶄新產生之檔案之分支資訊中之至少一者,可包括與該分支資訊對應之檔案資訊集。檔案資訊集可包括複數個檔案資訊,複數個檔案資訊可分別程式代碼,該程式代碼包括複數個碼區。
於步驟S330中,本發明之實施例之電子裝置110可為了進行衝突測試而確認與專案相關之合併組合。合併組合可以是為了發佈而預測程式代碼之合併之個體之組合,於實施例中,合併組合可包括至少兩個分支資訊間之合併組合、與一個分支資訊相關之至少兩個檔案資訊間之合併組合、及一個檔案資訊所包括之程式代碼之合併組合中之至少一部分。
具體而言,至少兩個分支資訊間之合併組合可為用以實現不同功能之第1分支及第2分支組合。與一個分支資訊相關之至少兩個檔案資訊間之合併組合可為與第1分支資訊相關之第1檔案資訊及第2檔案資訊組合。另一方面,一個檔案資訊包括之程式代碼之合併組合可為第1檔案資訊所包括之程式代碼中包括之第1碼區及第2碼區。根據本發明之實施例,由電子裝置110確認之合併組合可為分支間、檔案間或碼區間存在物理或邏輯關聯性之個體之組合。
於步驟S340中,本發明之實施例之電子裝置110可對所確認之合併組合實行衝突測試。衝突測試能夠以確認合併組合是否發生物理或邏輯衝突之方式實行。物理衝突可為會於多個作業人員對同一位置之碼區實行修正作業之情形時發生之衝突,邏輯衝突可為會因不同位置之至少兩個碼區間之關聯性而發生之衝突。於實施例中,在步驟S330中,電子裝置110可對所確認之所有合併組合實行衝突測試。
另一方面,於一部分實施例中,電子裝置110於實行衝突測試時,可對篩選之一部分合併組合實行衝突測試以減少負荷。具體而言,於步驟S320中獲得第1分支資訊及第2分支資訊,在第1分支資訊包括與第1分支相關之第1檔案之修正資訊,第2分支資訊包括與第2分支相關之第2檔案之修正資訊之情形時,電子裝置110可篩選與第1分支及第2分支相關之合併組合而實行衝突測試。
於步驟S350中,本發明之實施例之電子裝置110可基於在步驟S340中實行之衝突測試之結果,將代碼衝突資訊提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者。代碼衝突資訊可包括發生代碼衝突之分支資訊、發生代碼衝突之檔案資訊、對發生代碼衝突之檔案實行作業之作業人員資訊、發生代碼衝突之代碼部分資訊、已實行修正作業之代碼變更資訊、與分支資訊對應之標籤資訊、與檔案資訊對應之提交資訊中之至少一部分。於實施例中,藉由電子裝置110提供至第1至第n作業人員終端120_1、120_2、…、120_n中之至少一者之代碼衝突資訊之詳細項目可根據電子裝置110提供之功能而不同。另一方面,於實施例中,衝突資訊可提供給發生衝突之分支組合之各作業人員。
本發明之實施例之衝突測試可按照固定週期來實行。例如,衝突測試可對應於由電子裝置110之管理者預先設置之週期來實行,可先於衝突測試來確認合併組合。另一方面,本發明之其他實施例之衝突測試可於獲得與程式相關之提交資訊之情形時實行。提交資訊可於如下情形時獲得:作業人員完成相應檔案之作業,向電子裝置110提供完成之作業資訊。
圖4a至圖4c係表示根據本發明之實施例之第1功能來提供代碼資訊之頁面的圖。於實施例中,第1功能可為用以提供針對合併組合產生之代碼衝突資訊之功能。
根據圖4a所示之第1功能而提供代碼衝突資訊之第1頁面40a係可對應於作業人員對與第1功能對應之第1欄標400的輸入而提供。參照圖4a,第1頁面40a可包括:第1輸入部410,其用以自作業人員獲得專案識別資訊;衝突資訊清單420,其包括對應於專案識別資訊而提供之代碼衝突資訊;第2輸入部430,其用以自作業人員獲得作業人員識別資訊;及第3輸入部440,其用以自作業人員獲得分支識別資訊。
電子裝置110可藉由第1輸入部410獲得專案識別資訊,將與專案識別資訊對應之衝突資訊清單420提供至第1頁面40a上。衝突資訊清單420可基於實行衝突測試之結果,包括與發生衝突之程式代碼相關之資訊。具體而言,衝突資訊清單420可包括發生衝突之第1分支資訊421、與第1分支資訊對應之標籤資訊422、發生衝突之檔案資訊423、及與第1分支發生衝突之第2分支資訊424,標籤資訊422可包括與第1分支資訊421相關之版本資訊。又,衝突資訊清單420可包括用以提供衝突情況之詳細資訊之圖標425。
於獲得作業人員對圖標425之輸入之情形時,電子裝置110可藉由作業人員終端向作業人員提供衝突情況之詳細資訊,以下於圖4b中敍述其詳細說明。又,於獲得作業人員對第2輸入部430或第3輸入部440之輸入之情形時,可藉由作業人員終端向作業人員提供與作業人員輸入對應之衝突資訊清單,以下於圖4c中敍述其詳細說明。
圖4b所示之第1子頁面40b可對應於作業人員對第1頁面40a上之圖標425之輸入而提供至作業人員終端,該第1頁面係用以根據第1功能來提供代碼衝突資訊。第1子頁面40b可包括代碼衝突詳細資訊450,代碼衝突詳細資訊450可包括發生衝突之代碼部分資訊。具體而言,可提供與第1分支相關之程式代碼中發生衝突之代碼部分資訊,可高亮顯示代碼部分資訊。於一部分實施例中,代碼衝突詳細資訊450可包括修正作業前之碼區資訊及修正作業後之碼區資訊。
圖4c表示於藉由第2輸入部430而獲得作業人員識別資訊460之情形時,包括與提供至作業人員終端之作業人員識別資訊460對應之衝突資訊清單之第1頁面40c。與作業人員識別資訊460對應之衝突資訊清單可包括與該作業人員參與之作業相關之代碼衝突資訊。具體而言,與作業人員識別資訊460對應之衝突資訊清單可包括:該作業人員實行作業而發生衝突之分支資訊470、與第1分支資訊對應之標籤資訊480、及發生該衝突之檔案資訊490中之至少一部分。作業人員識別資訊460可為作業人員之電子郵件位址或作業人員之固有ID。又,雖未圖示,但於藉由第3輸入部440而獲得分支識別資訊之情形時,可向作業人員終端提供包括與分支識別資訊對應之衝突資訊清單之第1頁面。
圖5a及圖5b係表示根據本發明之實施例之第2功能來提供代碼資訊之頁面的圖。於實施例中,第2功能可為如下功能:用以提供對與合併組合發生之衝突相關之檔案實行作業之作業人員資訊。
根據圖5a所示之第2功能而提供代碼衝突資訊之第2頁面50a可對應於作業人員對與第2功能對應之第2欄標500之輸入而提供。參照圖5a,第2頁面50a可包括各檔案之衝突資訊清單510,各作業人員之衝突資訊清單510可包括發生衝突之檔案資訊511、對該檔案實行編輯作業之作業人員資訊512、與該檔案之作業相關而獲得之提交資訊513、與該檔案對應之分支資訊515、及與分支資訊對應之標籤資訊516中之至少一部分。
另一方面,於實施例中,將第2欄標500說明為顯示發生衝突之檔案之清單,但並不限制於此,亦可確認對專案中之各檔案進行編輯之所有用戶資訊。作為一例,可顯示專案中之所有檔案之資訊,確認存在對該檔案實行編輯之歷史之用戶,可基於該資訊而容易地實行專案管理。
又,各檔案之衝突資訊清單510可包括用以提供衝突狀態之詳細資訊之圖標514。於獲得作業人員對圖標514之輸入之情形時,電子裝置110可藉由作業人員終端向作業人員提供衝突狀態之詳細資訊,以下於圖5b中敍述其詳細說明。另一方面,雖未圖示,但於一部分實施例中,根據第2功能而提供至作業人員終端之各檔案之衝突資訊清單510可包括如下之作業人員資訊:對與作業人員之期間資訊輸入對應地設定之期間內發生衝突之檔案實行作業。
圖5b所示之第2子頁面50b可對應於作業人員對第2頁面50a上之圖標514之輸入而提供至作業人員終端,第2頁面50a用以根據第2功能來提供代碼衝突資訊。第2子頁面50b可包括代碼衝突詳細資訊520及530,代碼衝突詳細資訊520及530可包括發生衝突之代碼部分資訊。具體而言,可提供發生衝突之代碼部分資訊,可高亮顯示代碼部分資訊。於一部分實施例中,代碼衝突詳細資訊520及530可包括程式代碼之變更資訊及比較資訊中之至少一部分。
圖6係表示根據本發明之實施例之第3功能來提供代碼資訊之頁面的圖。於實施例中,第3功能可為用以提供與特定分支相關之分支資訊之功能。
根據圖6所示之第3功能來提供代碼衝突資訊之第3頁面60可對應於作業人員對與第3功能對應之第3欄標600之輸入而提供。參照圖6,第3頁面60可包括衝突資訊清單610,該衝突資訊清單包括與第1分支相關之複數個分支資訊。衝突資訊清單610中包括之複數個分支資訊分別可包括分支路徑資訊。分支路徑資訊可表示該分支自哪個主分支MB衍生,於一部分實施例中,衝突資訊清單610可包括自該主分支MB分支出來之複數個分支資訊中之至少一部分。
根據第3功能提供之代碼衝突資訊可為作業人員判斷衝突之間接資訊。具體而言,若完成特定分支之作業,則原則上為刪除現有之分支,但於未實行刪除之情形時,作業人員可基於根據第3功能提供之代碼衝突資訊,判斷藉由未刪除之分支而發生之衝突是否為可忽略之衝突、或是否為需要注意之衝突。又,作業人員可基於根據第3功能提供之代碼衝突資訊,設置用以實行衝突測試之分支組合。具體而言,作業人員可基於根據第3功能提供之代碼衝突資訊而以如下方式設置:於實行衝突測試之對象中排除未實行刪除作業之分支。
另一方面,於實施例中,對於確認到衝突之分支,可請求相應之作業人員進行確認,可於本說明書之實施例之頁面上向各作業人員提供能夠確認衝突資訊之鏈路。又,於實施例中,衝突判斷係藉由比較相應之分支之檔案而實行,因此需要確認與特定檔案具有邏輯關聯性之其他檔案之衝突。於該情形時,藉由用戶設置,亦可週期性地確認除同一檔案以外之其他檔案是否發生衝突,對此亦可將衝突資訊提供給各作業人員。另一方面,根據本發明之實施例,於感測到代碼間發生衝突之情形時,可藉由用以實行與專案相關之編碼作業之基於雲之作業程式,向作業人員提供與發生衝突相關之警報資訊,與發生衝突相關之警報資訊可包括指示確認所感測之代碼衝突資訊之指示資訊。
圖7係表示本發明之實施例之用以提供代碼資訊之電子裝置的圖。參照圖7,本發明之實施例之電子裝置110可包括收發器710、處理器720及記憶體730。
電子裝置110可藉由收發器710而與外部終端連接,交換資料。例如,電子裝置110可藉由收發器710而分別與第1至第n作業人員終端120_1、120_2、…、120_n連接。
處理器720可包括藉由上述圖1至圖6說明之至少一個裝置、或儲存用以實行藉由圖1至圖6說明之至少一個方法之資訊。又,處理器720可執行程式,為了提供代碼資訊而控制電子裝置110。
記憶體730可包括揮發性記憶體及非揮發性記憶體中之至少一種。又,記憶體730可儲存藉由處理器720執行之程式之代碼。另一方面,雖未圖示,但可進而包括用以自電子裝置110向外部終端提供資訊之介面。
上述內容係用以實施本發明之具體實施例。本發明不僅包括上述實施例,而且亦包括可簡單地變更設計或容易地變更設計之實施例。又,本發明亦包括可利用上述實施例來容易地變化而實施之技術。因此,本發明之範圍不應侷限於上述實施例來界定,不僅應由下文敍述之發明申請專利範圍來界定,而且亦應由與本發明之發明申請專利範圍均等之內容來界定。
10:系統
20:資料構造
40a:第1頁面
40b:第1子頁面
40c:第1頁面
50a:第2頁面
50b:第2子頁面
60:第3頁面
110:電子裝置
120-1,120-2,…,120-n:第1至第n作業人員終端
200:專案
210:第1主檔案集
211:第1開發檔案集
212:第2開發檔案集
212_1:第2-1特性檔案集
212_2:第2-2特性檔案集
213:第3開發檔案集
220:第2主檔案集
400:第1欄標
410:第1輸入部
420:衝突資訊清單
421:第1分支資訊
422:與第1分支資訊對應之標籤資訊
423:檔案資訊
424:第2分支資訊
425:圖標
430:第2輸入部
440:第3輸入部
450:代碼衝突詳細資訊
460:作業人員識別資訊
470:分支資訊
480:與第1分支資訊對應之標籤資訊
490:檔案資訊
500:第2欄標
510:衝突資訊清單
511:檔案資訊
512:作業人員資訊
513:提交資訊
514:圖標
515:分支資訊
516:標籤資訊
520,530:代碼衝突詳細資訊
600:第3欄標
610:衝突資訊清單
710:收發器
720:處理器
730:記憶體
DB:開發分支
FB1:第1特徵分支
FB2:第2特徵分支
MB:主分支
S310:步驟
S320:步驟
S330:步驟
S340:步驟
S350:步驟
圖1係表示本發明之實施例之用以提供代碼資訊之系統的圖。
圖2係表示根據本發明之實施例來提供代碼資訊之專案之資料構造的圖。
圖3係用以說明本發明之實施例之代碼資訊提供方法之順序圖。
圖4a至圖4c係表示本發明之實施例之根據第1功能來提供代碼資訊之頁面的圖。
圖5a及圖5b係表示本發明之實施例之根據第2功能來提供代碼資訊之頁面的圖。
圖6係表示本發明之實施例之根據第3功能來提供代碼資訊之頁面的圖。
圖7係表示本發明之實施例之用以提供代碼資訊之電子裝置的圖。
S310:步驟
S320:步驟
S330:步驟
S340:步驟
S350:步驟
Claims (13)
- 一種代碼資訊提供方法,其係藉由電子裝置進行者,其包括: 自至少一個作業人員終端獲得專案資訊之步驟; 自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊之步驟; 為了進行衝突測試,基於上述至少兩個分支資訊之組合來確認合併組合之步驟;及 基於對上述合併組合實行上述衝突測試之結果,向上述至少一個作業人員終端提供代碼衝突資訊之步驟。
- 如請求項1之代碼資訊提供方法,其中上述代碼衝突資訊包括針對上述合併組合發生之第1衝突資訊清單, 上述衝突資訊清單包括針對上述合併組合發生衝突之分支資訊、與上述衝突相關之檔案資訊、及與上述分支資訊對應之標籤資訊中之至少一部分。
- 如請求項2之代碼資訊提供方法,其進而包括如下步驟: 於獲得與上述第1衝突資訊清單對應之第1作業人員輸入之情形時,向第1作業人員終端提供針對與上述第1作業人員輸入對應之檔案資訊發生衝突之代碼部分資訊。
- 如請求項1之代碼資訊提供方法,其進而包括: 自上述至少一個作業人員終端獲得作業人員識別資訊之步驟;及 向上述至少一個作業人員終端提供與上述作業人員識別資訊對應之第2衝突資訊清單之步驟。
- 如請求項1之代碼資訊提供方法,其進而包括: 自上述至少一個作業人員終端獲得分支識別資訊之步驟;及 向上述至少一個作業人員終端提供與上述分支識別資訊對應之第3衝突資訊清單之步驟。
- 如請求項1之代碼資訊提供方法,其中上述代碼衝突資訊包括對同一檔案實行作業之作業人員資訊清單, 上述作業人員資訊清單包括與上述檔案對應之分支資訊、與上述分支資訊對應之標籤資訊、及與上述檔案對應之提交資訊中之至少一部分。
- 如請求項6之代碼資訊提供方法,其中於獲得與上述第1作業人員資訊清單對應之第2作業人員輸入之情形時,向第2作業人員終端提供與上述第2作業人員輸入對應之檔案資訊之代碼變更資訊。
- 如請求項1之代碼資訊提供方法,其中上述代碼衝突資訊包括自主分支資訊衍生之分支資訊清單。
- 如請求項1之代碼資訊提供方法,其中為了進行上述衝突測試而確認與上述專案資訊相關之合併組合之步驟係於獲得與上述至少兩個分支資訊中之至少一部分相關之提交資訊之情形時實行。
- 如請求項1之代碼資訊提供方法,其中為了進行上述衝突測試而確認與上述專案資訊相關之合併組合之步驟係根據由上述電子裝置之管理者設置之週期來實行。
- 如請求項1之代碼資訊提供方法,其中上述合併組合包括上述至少兩個分支資訊間之合併組合、與第1分支資訊相關之至少兩個檔案資訊間之合併組合、及第1檔案資訊所包括之程式代碼之合併組合中之至少一部分。
- 一種電腦程式,其係與硬體結合,為了對物品詳細資訊相關影像進行管理而儲存於電腦可讀儲存媒體者, 自至少一個作業人員終端獲得專案資訊, 自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊, 為了進行衝突測試,基於上述至少兩個分支資訊之組合來確認合併組合, 基於對上述合併組合實行上述衝突測試之結果,將代碼衝突資訊提供至上述至少一個作業人員終端。
- 一種電子裝置,其係提供代碼資訊者,其包括收發器、儲存命令之記憶體及處理器, 與上述收發器及上述記憶體連接之上述處理器如下: 自至少一個作業人員終端獲得專案資訊, 自上述至少一個作業人員終端獲得與上述專案資訊對應之至少兩個分支資訊, 為了進行衝突測試,基於上述至少兩個分支資訊之組合來確認合併組合, 基於對上述合併組合實行上述衝突測試之結果,將代碼衝突資訊提供至上述至少一個作業人員終端。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0077471 | 2022-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202416194A true TW202416194A (zh) | 2024-04-16 |
TWI844400B TWI844400B (zh) | 2024-06-01 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8473893B2 (en) | Integration of external software analysis processes with software configuration management applications | |
CN110809756B (zh) | 代码评审重新设定差异 | |
US9218137B2 (en) | System and method for providing data migration services | |
US10067856B2 (en) | Employing code overlays to facilitate software development | |
US10877846B2 (en) | Performing a closure merge operation | |
CN105493074A (zh) | 用于生成动态定制上下文敏感的帮助的方法 | |
CN114528008A (zh) | 基于分布式版本控制系统的代码管控方法、设备及介质 | |
US9442719B2 (en) | Regression alerts | |
JP2008269277A (ja) | 共有データの分散編集システム、分散編集方法およびプログラム | |
US10705832B2 (en) | Efficient storage and analysis of source code modification history data | |
CN114358742A (zh) | 一种工作流执行方法、装置、设备及存储介质 | |
US20150178275A1 (en) | Resolving content editing conflicts arising from concurrent drafts | |
US20150220882A1 (en) | Asset creation and utilization using an asset creation tool | |
TW202416194A (zh) | 用以提供代碼資訊之電子裝置及其方法 | |
US20150186254A1 (en) | Testing of transaction tracking software | |
KR20240000809A (ko) | 코드 정보 제공을 위한 전자 장치 및 그 방법 | |
EP2813944A1 (en) | Versioning of electronic data in software management system | |
CN117687681B (zh) | 一种低代码应用的版本管理方法及系统 | |
JP7086873B2 (ja) | 管理装置、方法及びプログラム | |
US20230297346A1 (en) | Intelligent data processing system with metadata generation from iterative data analysis | |
JP2008269281A (ja) | ソフトウェア開発支援システム、開発支援方法およびプログラム | |
Gerber et al. | Introducing Git | |
Costa et al. | A Study of Version Control System in Software Development Management Concerning PLC Environments | |
US10636517B1 (en) | Computer-executable application that facilitates provision of a collaborative summary for a care plan | |
Olatunji | RAPIDLY SCALING DIGITAL TRANSFORMATIONS OF HEALTHCARE SYSTEMS |