python在windows調(diào)用svn-pysvn的實(shí)現(xiàn)
作為EBS開發(fā)人員,開發(fā)工具用的多,部署代碼類型多,管理程序麻煩,操作繁瑣,一直是我最討厭的事情。部署一次程序要使用好幾個(gè)工具,改來改去,上傳下載,實(shí)在難受。
扣了一下python,打算做一款集成工具,把代碼管理、程序部署一步搞下來。中間有幾個(gè)技術(shù)難點(diǎn)需要打通:
1. ERP調(diào)用linux的ssh執(zhí)行shell獲得源代碼,下載到本機(jī)
2. 將源代碼結(jié)構(gòu)化存儲(chǔ)并放到svn下,上傳svn同步版本
3. 調(diào)用Jenkins執(zhí)行部署,將源代碼部署到正式環(huán)境
4. 該操作步驟做記錄留底
現(xiàn)在測試的就是python調(diào)用svn,上傳源代碼。
百度上面好多文章,大部分說的都是ubuntu或者centerOS的,或者就是調(diào)用os執(zhí)行cmd,我是一直沒有測通。又發(fā)現(xiàn)又說pysvn這個(gè)類是可以完美調(diào)用svn的,但是使用pycharm直接調(diào)入pysvn這個(gè)類,版本知識(shí)0.1.0,而且里面什么都沒有,和文章里說的完全不是一個(gè)東西。不得已問了下google,還真的是使用pysvn這個(gè)類,但是是.exe的安裝文件,一番折騰,缺失可行,做以下記錄。
參考文檔:Pysvn 程序員指南
pysvn的文檔:PySVN - The pythonic interface to Subversion
上面那個(gè)參考文檔內(nèi)容基本就是pysvn官網(wǎng)里面“SVN Programmer's Guide”例子的中文翻譯,說的很詳細(xì)的例子。
嗯,這個(gè)網(wǎng)址國內(nèi)也可以打開,但是我用百度是沒搜到的。
1. 下載和安裝
PySVN - The pythonic interface to Subversion
上面地址里,有download,點(diǎn)進(jìn)去對應(yīng)不同python和操作系統(tǒng)的版本,下載下來安裝就好。
我是python3.6,windows10,下載的exe文件,直接雙擊安裝就好。
默認(rèn)是安裝到python的“\Lib\site-packages\pysvn”下面,這個(gè)文件夾下面有“pysvn_prog_guide.html”里面有比較全的例子可以參考使用
安裝的時(shí)候有個(gè)小插曲,我原來的pycharm里面有一個(gè)pysvn,這個(gè)pysvn安裝完成后,pycharm里面的例子還是不能用。
我就先把pycharm的pysvn刪掉了,直接在setting->Project Interpreter里面找到它,然后點(diǎn)右邊的減號(hào)就好
然后,我在“\Lib\site-packages\pysvn”點(diǎn)擊uninstall(好像是這個(gè)名字),把pysvn刪掉,再重新安裝一次,重啟pycharm,例子就可用了
我的例子(add一個(gè)文件夾,也可以是文件到svn,并且commit)
import pysvn
# write a file foo.txt
# f = file('./examples/pysvn/foo.txt', 'w')
# f.write('Sample versioned file via pithon\n')
# f.close()
client = pysvn.Client()
#schedule the addition;
# the working copy will now track the file as a scheduled change
client.add(r'D:\dev_home\EBS\EBS_SVN1\DEV_LIST\Migration\XXCUS\BRAYDEN20230213001xx1')
#committing the change actually adds the file to the repository
client.checkin([r'D:\dev_home\EBS\EBS_SVN1\DEV_LIST\Migration\XXCUS\BRAYDEN20230213001xx1'], 'Adding a sample file')查看svn的log是成功了的。
到此這篇關(guān)于python在windows調(diào)用svn-pysvn的文章就介紹到這了,更多相關(guān)python在windows調(diào)用svn-pysvn內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python自動(dòng)化實(shí)現(xiàn)ODT到DOCX的批量轉(zhuǎn)換
在當(dāng)今數(shù)字辦公環(huán)境中,文檔格式的兼容性問題常常令人頭疼,本文將深入探討如何利用Spire.Doc for Python庫實(shí)現(xiàn)ODT到DOCX的批量轉(zhuǎn)換,感興趣的小伙伴可以了解下2026-02-02
python 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法
下面小編就為大家?guī)硪黄猵ython 字符串轉(zhuǎn)列表 list 出現(xiàn)\ufeff的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
python 刪除指定時(shí)間間隔之前的文件實(shí)例
下面小編就為大家分享一篇python 刪除指定時(shí)間間隔之前的文件實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python for循環(huán)及基礎(chǔ)用法詳解
這篇文章為大家介紹python for 循環(huán),它常用于遍歷字符串、列表、元組、字典、集合等序列類型,逐個(gè)獲取序列中的各個(gè)元素2019-11-11
Python報(bào)錯(cuò)KeyError: ‘missing_key‘的有效解決方法
在 Python 編程中,報(bào)錯(cuò)信息常常讓開發(fā)者感到困擾,其中,“KeyError: ‘missing_key’”是一個(gè)較為常見的報(bào)錯(cuò),它可能在各種數(shù)據(jù)處理和字典操作的場景中出現(xiàn),本文將深入探討這個(gè)報(bào)錯(cuò)的原因,并提供多種有效的解決方法,幫助開發(fā)者快速解決此類問題2024-10-10
Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件
這篇文章主要介紹了Python代碼集pathlib應(yīng)用之獲取指定目錄下的所有文件,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03

