Python定期從SVN更新檔案

2021-04-13 05:40:03 字數 1226 閱讀 4254

如果乙個測試站點要及時的從svn獲取最新的檔案,那麼寫乙個定期更新程式是非常必要的,下面的**python的簡單實現

svnupdate.py

import

time,os,sys,svnconfig

dist

=svnconfig.setting[

'dist']

os.chdir(svnconfig.setting[

'svn'])

defcheckout():

svnconfig.setting[

'dist']

=dist

+time.strftime(

'%y-%m-%d-%h-%m-%s

',time.localtime())

cmd='

svn export %(url)s %(dist)s --username %(user)s --password %(pwd)s'%

svnconfig.setting

print

"execute %s"%

cmd#print os.popen(cmd).read()

return

os.system(cmd)

while

true:

ret=checkout()

if(ret

==0):

print

'check out success

'else

:print

'check out fail

'time.sleep(svnconfig.setting[

'interval'])

svnconfig.py

setting=

可能是裝了多個svn的緣故,直接用system('svn xx')命令執行失敗,所以就先chdir到svn的目錄下面,然後在執行svn命令

svn也有乙個python程式包,也可以直接使用,沒有具體使用過。

上面的**主要用了

svn export ,該命令獲取了乙個無版本控制的副本,所以用於定時備份比較好,及時更新的話用

svn checkout 命令,每次獲得最新的版本,或者第一次用

svn checkout以後用

svn -r head update也可以.

用crontab設定svn的定期更新任務

本以為用crontab設定svn的定期更新任務是件非常容易的事情,實踐後方才知道,其實並不那麼容易。設定例行性工作如下 0 8 usr bin svn up data test 第二天,我收到了一封郵件,內容是svn更新失敗的訊息 svn can t convert string from nati...

在svn中從主幹更新分支

當你需要從主幹更新你分支,或反方向,或在兩個分支間合併,就用得著merge了。下面以從主幹更新分支 為例簡要介紹合併操作的步驟。要進一步了解,還是應該去閱讀svn的文件。另外盡量不要用圖形客戶端,我開始用eclipse的svn外掛程式總是莫名其妙的 merge fail。在shell裡直接執行命令就...

python自動更新SVN

usr bin env python encoding utf 8 file svnupdate.py contact 512759438 qq.com author jian setting closeonend 0 不自動關閉對話方塊 closeonend 1 如果沒發生錯誤則自動關閉對話方塊 ...