[發(fā)明專利]使用python遷移svn版本庫到git版本庫的方法在審
| 申請?zhí)枺?/td> | 202010118099.0 | 申請日: | 2020-02-26 |
| 公開(公告)號: | CN111338687A | 公開(公告)日: | 2020-06-26 |
| 發(fā)明(設(shè)計)人: | 楊仕方 | 申請(專利權(quán))人: | 北京慧博科技有限公司 |
| 主分類號: | G06F8/71 | 分類號: | G06F8/71 |
| 代理公司: | 成都方圓聿聯(lián)專利代理事務(wù)所(普通合伙) 51241 | 代理人: | 宋紅賓 |
| 地址: | 100089 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 使用 python 遷移 svn 版本 git 方法 | ||
本發(fā)明提供一種使用python遷移svn版本庫到git版本庫的方法,(1)在Python程序中配置項目,在本地配置好用戶信息文件,然后啟動程序;(2)由程序分析SVN提交歷史,讀取預(yù)配置用戶信息文件,獲取指定svn項目下的歷史提交記錄,循環(huán)遍歷獲取到的svn歷史提交記錄;(3)執(zhí)行程序命令將SVN項目中從上一步驟得到的版本到最新版本的記錄復(fù)制到Git本地路徑;(4)設(shè)置忽略目錄,在項目目錄下創(chuàng)建并打開一個新文件.gitignore,將忽略目錄字符串此文件,即表示忽略目錄的提交,再將.gitignore文件提交到Git;(5)開始提交,執(zhí)行程序命令建立本地倉庫和遠(yuǎn)程倉庫連接,獲取返回的執(zhí)行結(jié)果;(6)程序結(jié)束。本發(fā)明在配置信息正確的情況下自動化遷移,提高了遷移效率。
技術(shù)領(lǐng)域
本發(fā)明涉及控制系統(tǒng)遷移技術(shù)領(lǐng)域,具體是使用python遷移svn版本庫到git版本庫的方法。
背景技術(shù)
當(dāng)前IT行業(yè)中,大部分源碼通過版本控制系統(tǒng)管理,著名的版本控制系統(tǒng)有SVN、Git等,Git是分布式版本控制系統(tǒng),在分支控制、分布式開發(fā)方面在當(dāng)前普遍認(rèn)知中要優(yōu)于SVN,大量IT公司在開發(fā)過程中出于需求需要從SVN版本控制遷移到Git版本控制,但是SVN和Git版本控制系統(tǒng)用戶體系不同、存儲不同、服務(wù)不同,如何有效快速地遷移版本控制系統(tǒng)是遷移過程中需要考慮的重大問題。
現(xiàn)有技術(shù)比如,放棄SVN版本控制系統(tǒng)中的歷史版本,將最新版本代碼剝離SVN控制導(dǎo)入新的Git版本控制系統(tǒng)項目中。該方法所有的歷史版本記錄將丟失。
還比如使用Git工具自帶功能從SVN遷移到Git,功能單一,需要二次提交。
發(fā)明內(nèi)容
本發(fā)明針對上述問題,提供了一種使用python遷移svn版本庫到git版本庫的方法,保留最近的SVN提交歷史記錄,自動分析最近提交SVN的開發(fā)者,自動加入忽略編譯目錄,可直接提交至遠(yuǎn)程Git版本控制系統(tǒng)。
為達(dá)到上述目的,本發(fā)明采用以下技術(shù)方案:
使用python遷移svn版本庫到git版本庫的方法,包含以下步驟:
(1)首先在Python程序中配置項目SVN路徑、需要提交的Git項目路徑、本地存儲目錄、項目名稱,在本地配置好用戶信息文件,然后啟動程序;
(2)由程序分析SVN提交歷史,讀取預(yù)配置用戶信息文件,獲取指定svn項目下的歷史提交記錄,循環(huán)遍歷獲取到的svn歷史提交記錄:
獲得提交記錄的人,判斷預(yù)配置用戶信息里是否包含該提交人,不包含則退出提示需要配置此人信息,此處信息是后續(xù)SVN項目復(fù)制到Git本地項目需要的提交人信息;
獲取最多前100條提交記錄,獲取最早提交記錄;
(3)執(zhí)行程序命令將SVN項目中從上一步驟得到的版本到最新版本的記錄復(fù)制到Git本地路徑,如果程序執(zhí)行返回失敗狀態(tài)碼,則提示復(fù)制失敗,程序退出;
(4)再設(shè)置忽略目錄,在項目目錄下創(chuàng)建并打開一個新文件.gitignore,將忽略目錄字符串此文件,即表示忽略目錄的提交,再將.gitignore文件提交到Git;如果以上程序執(zhí)行返回失敗狀態(tài)碼,則提示提交失敗,程序退出;
(5)開始提交,首先執(zhí)行程序命令建立本地倉庫和遠(yuǎn)程倉庫連接,獲取返回的執(zhí)行結(jié)果,如果程序執(zhí)行返回失敗狀態(tài)碼,則提示遠(yuǎn)程連接添加失敗,程序退出;然后執(zhí)行程序命令,將本地項目提交到遠(yuǎn)程倉庫,獲取返回的執(zhí)行結(jié)果,如果程序執(zhí)行返回失敗狀態(tài)碼,則提示提交失敗,程序退出;
(6)程序結(jié)束。
本發(fā)明與現(xiàn)有發(fā)明相比,具有以下優(yōu)點及突出性效果:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京慧博科技有限公司,未經(jīng)北京慧博科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010118099.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于Python語言的網(wǎng)格系統(tǒng)實現(xiàn)方法
- 一種基于模塊鉤子的Python字節(jié)碼文件保護(hù)方法
- 一種通過加密Python明文源碼token的知識產(chǎn)權(quán)保護(hù)系統(tǒng)
- 一種創(chuàng)建Python沙盒環(huán)境的方法及電子設(shè)備
- 圖形化Python編程交互方法、系統(tǒng)及電子設(shè)備
- 一種基于Ambari實現(xiàn)Python組件管理的方法
- 一種基于Java自動調(diào)用Python腳本的方法
- Python與Scratch交互式編程方法及電子設(shè)備
- 一種 Python 源碼安全防護(hù)的實現(xiàn)方法及系統(tǒng)
- 一種生成python項目結(jié)構(gòu)圖的方法、系統(tǒng)及介質(zhì)





