[發明專利]一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法在審
| 申請號: | 202210726119.1 | 申請日: | 2022-06-24 |
| 公開(公告)號: | CN115098109A | 公開(公告)日: | 2022-09-23 |
| 發明(設計)人: | 張衛豐;張傳忠;周國強;張迎周;王子元 | 申請(專利權)人: | 南京郵電大學 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 南京正聯知識產權代理有限公司 32243 | 代理人: | 杭行 |
| 地址: | 210023 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 代碼 倉庫 級別 沖突 排序 分組 方法 | ||
1.一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:所述方法包括如下步驟:
步驟1,提取代碼倉庫中項目沖突文件中的所有方法;
步驟2,根據方法之間的依賴關系構造依賴關系圖,代碼倉庫中每個分支上都要構造一個圖;
步驟3,根據依賴關系圖構造新的圖,圖中節點包含出度、入度、文件全路徑名、序號、方法的名稱、方法開始和結束的行號;
步驟4,針對代碼倉庫中的合并場景,獲取沖突信息;
步驟5,給圖中每個節點排序,遍歷圖中節點進行篩選,保證每個節點的唯一性;
步驟6,將不同分支上的圖進行合并然后進行匹配,得到合并匹配后的圖;
步驟7,遍歷合并后的圖,根據節點中的序號大小,將發生沖突的方法按照節點序號從大到小將沖突文件的全路徑名和沖突方法名稱進行保存從而達到排序效果;
步驟8,遍歷合并后的圖,將在同一個圖中出現的沖突方法分入同一組,完成最終的排序分組。
2.根據權利要求1所述的一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:步驟1中,提取出發生沖突的文件列表、沖突文件內部所有方法名稱以及發生沖突的代碼片段的開始和結束的行號。
3.根據權利要求1所述的一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:步驟2中,提取出發生沖突的文件列表、沖突文件內部所有方法名稱以及發生沖突的代碼片段的開始和結束的行號。
4.根據權利要求1所述的一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:步驟3中,構造的新的圖中,序號初始為零,入度表示依賴于這個方法的方法數量,出度表示這個方法依賴其他方法的數量,圖中的邊表示兩個方法之間存在依賴關系,有向邊從一個方法指向它所依賴的方法。
5.根據權利要求1所述的一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:步驟5中,對于入度為零的節點進行遍歷,每到達一個點,節點的入度就加一,序號也加一,如果從不同的入度為零的節點出發都到達某個節點并且到達這個節點的邊的數目不同,也就是說這個節點的序號存在不同大小情況,選擇保留較大的舍棄較小的來保證每個節點的序號的唯一性。
6.根據權利要求1所述的一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:步驟6中,將不同分支上的依賴關系圖合并成一個圖,從入度為零的節點開始遍歷進行匹配,匹配成功的條件是節點攜帶的文件全路徑名和方法名稱與沖突文件列表中文件全路徑名和方法名相同,匹配成功時保留節點中較大的序號,對于沒有匹配成功的節點說明不同分支上的文件內容有新增或刪除,需要將該節點按照其在其所在分支上的圖中的相對其他節點的位置插入到合并后的圖中。
7.根據權利要求1所述的一種基于有向圖的代碼倉庫代碼塊級別沖突排序分組方法,其特征在于:步驟7中,遍歷合并后的圖,當節點中的文件全路徑名和方法名稱與沖突文件列表中文件全路徑名和方法名稱相同,并且沖突代碼片段的開始和結束的行號在方法的開始和結束的行號范圍之內,根據節點的序號大小從大到小將節點中文件全路徑名和方法名稱進行保存。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京郵電大學,未經南京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210726119.1/1.html,轉載請聲明來源鉆瓜專利網。





