如果乙個測試站點要及時的從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
"execute %s"%
cmd#print os.popen(cmd).read()
return
os.system(cmd)
while
true:
ret=checkout()
if(ret
==0):
'check out success
'else
'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 如果沒發生錯誤則自動關閉對話方塊 ...