`

【转】Python定期从SVN更新文件

 
阅读更多

如果一个测试站点要及时的从svn获取最新的文件,那么写一个定期更新程序是非常必要的,下面的代码Python的简单实现

svnupdate.py

import time,os,sys,svnconfig

dist
=svnconfig.setting['dist']
os.chdir(svnconfig.setting[
'svn'])

def checkout():
    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':'C:/Program Files/Subversion/bin/',#svn的程序所在路径
    'url':'http://www.xxx.com/svn/project/trunk',#svn地址
    'user':'xxx,#用户名
    'pwd':'xxx',#密码
    'dist':'D:/svn/',#目标地址
    'interval':15 #更新时间
}


可能是装了多个svn的缘故,直接用system('svn xx')命令执行失败,所以就先chdir到svn的目录下面,然后在执行svn命令

svn也有一个Python程序包,也可以直接使用,没有具体使用过。
svn以及python包的地址:
 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

 

 

http://blog.csdn.net/foyuan/article/details/1718615

 

 

 

上次在拉闷用ruby写,最终写的也蛮简便,有空在试试python

 

分享到:
评论

相关推荐

    svn用户名和密码的配置

    svn通过仓库(Repository)存储项目的所有版本,而用户通过客户端(如TortoiseSVN、SmartSVN等)连接到仓库进行操作,如提交、更新、查看历史等。为了保障项目安全,svn支持设置用户身份验证,即用户名和密码的配置...

    SVN创建和配置

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队成员协同工作,记录每次更改,以便于回滚错误、比较不同版本,并管理多个开发分支。下面我们将深入探讨SVN的创建和配置...

    svn 64 用于eclipse

    在Eclipse中集成SVN客户端插件,可以方便地进行版本控制操作,如代码的提交、更新、合并等。 标题"svn 64 用于eclipse"指的是将64位版本的SVN客户端与Eclipse IDE整合使用。64位版本通常适用于处理大量数据或需要更...

    Python实现SVN的目录周期性备份实例

    - **方法**: 使用Python脚本来监控指定的SVN目录,并定期将其中的文件备份到另一个位置。 ##### 2. 技术选型 - **语言选择**: Python,因其简洁易读且功能强大。 - **库支持**: - `hashlib`: 用于计算文件的MD5...

    svn-win32-1.6.6

    - **工作副本(Working Copy)**:开发者在本地计算机上的项目副本,包含了从版本库检出的所有文件和目录。 - **提交(Commit)**:将本地工作副本的更改保存到版本库的操作。 - **更新(Update)**:将版本库的最新...

    svn:the client is too old

    3. **安装新客户端**:例如,提供的文件列表中的"python-2.7a1.msi"可能是Python的一个早期版本,而"change-svn-wc-format.rar"可能包含用于转换工作副本格式的工具。在大多数情况下,只需安装新客户端,系统会自动...

    eclipse插件svn及安装方法

    要确保插件始终与最新的SVN版本兼容,记得定期检查Eclipse Marketplace中的更新。 总结,安装Eclipse的SVN插件,如Subversive,是进行版本控制的关键步骤。通过集成SVN,开发者可以在Eclipse环境中方便地进行版本...

    自动获取SVN代码并编译代码 以及自动部署方案

    2. **自动获取代码**:利用脚本(通常为bash、Python或Windows批处理脚本)定期检查 SVN 仓库的更新,当有新的提交时,自动将代码拉取到本地。这一步通常被称为“拉取”或“更新”,它确保开发人员始终拥有最新的源...

    SVN数据库增量备份脚本

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。在IT行业中,配置管理是至关重要的,它确保了软件开发过程中的版本控制、代码库的备份和恢复,以及团队间的协作效率。SVN数据库的...

    svn-site-1.8.21

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。在软件开发过程中,SVN有...不过,记得定期检查更新,确保使用的插件版本与 Eclipse 和 SVN 服务器兼容,以获得最佳的性能和稳定性。

    Svn-Tool:一个svn源码泄漏利用工具,可以用来恢复网站文件

    工具会自动尝试从该URL获取SVN信息,并进行恢复操作。 **工作原理:** Svn-Tool的工作流程大致分为以下几步: 1. **扫描与发现**:工具首先会尝试识别出URL中可能存在的SVN仓库路径。 2. **信息收集**:一旦找到...

    SVN日志插件

    定期更新以修复已知问题,添加新功能,并保持与Scintilla和SVN最新版本的兼容。 通过以上步骤,你可以构建一个功能丰富的"SVN日志插件",为基于Scintilla的编辑器或IDE带来强大的版本控制支持,提升开发效率。

    CENTOS下svn版本访问rabbitvcs软件资源包

    在Linux系统中,特别是CENTOS 7环境下,安装和配置版本控制工具是非常重要的,特别是对于开发者来说。...请确保遵循最佳实践,定期备份,以及保持你的RabbitVCS和SVN服务更新,以确保数据的安全性和系统的稳定性。

    Python库 | svnpoller-0.0.7.tar.gz

    svnpoller库是为了解决与SVN相关的任务而设计的,如定期检查更新、触发自动化脚本或发送通知等。对于那些经常与SVN仓库打交道的开发者来说,这个库是一个强大的助手。 首先,让我们了解一下Subversion(SVN)。SVN...

    eclipse的svn插件

    - **Checkout**:从SVN仓库获取代码到本地工作区。 - **Commit**:将本地修改的代码提交到SVN仓库。 - **Update**:同步仓库中的最新代码到本地。 - **Compare**:查看本地文件与仓库版本的差异。 - **Merge**...

    SVN+Apach的集成

    将SVN与Apache集成,可以实现通过Web界面进行代码浏览、提交和更新等操作,极大地提高了团队协作效率。 【SVN简介】 SVN的核心功能是跟踪和管理源代码的变更历史,允许开发人员在不同的时间点检查项目状态,回滚到...

    SVN备份脚本.rar

    SVN备份脚本的主要目的是定期备份SVN仓库,防止数据丢失。这在团队协作中至关重要,因为代码和其他项目文件的更改频繁,一旦发生意外,如硬件故障或数据损坏,备份脚本能帮助迅速恢复到先前的状态,避免工作成果的...

    64位的Python+pycharm.7z

    Python是一种广泛使用的高级编程语言,尤其在...同时,定期更新Python和PyCharm到最新版本,以获取最新的特性和安全修复。通过不断学习和实践,开发者可以充分利用Python和PyCharm的强大功能,提高编程效率和代码质量。

    trac + apache +svn 跟踪系统

    2. 定期更新Trac和Apache到最新版本,保持系统的安全性。 3. 监控Trac的日志文件,排查可能出现的问题。 通过以上步骤,你就成功搭建了一个基于Trac、Apache和Subversion的bug跟踪系统。这个系统不仅方便了bug管理...

    python删除过期log文件操作实例解析

    当这些文件积累过多时,可能会占用大量磁盘空间,因此需要定期删除过期的log文件。本文将通过实例解析如何使用Python来实现这一功能。 首先,我们可以使用`os.walk()`函数来遍历指定目录及其子目录下的所有文件。`...

Global site tag (gtag.js) - Google Analytics