文件名称:
批量更新目录下所有CVS和SVN项目的Python脚本
开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2008-12-13
详细说明: #!/usr/bin/python #coding=gb18030 # ============================================== # autoupdate - automate update cvs and svn repositories # ============================================== # by liude67596@126.com # 23:29 2008-9-21 from os.path import basename, isdir from os import chdir, getcwd, listdir, system def traverse(path, depth=0): status = 255 if (depth > 5): print "depth = ", depth, " > 5" return 254 prefix = depth * '| ' + '|_' if (isdir(path)): print prefix, basename(path) log ging.info(prefix + basename(path)) if (isdir(path + "/cvs")): status = cvsupdate(path) elif (isdir(path + "/.svn")): status = svnupdate(path) else: for item in listdir(path): traverse(path + '/' + item, depth + 1) print depth * '.', status return status def cvsupdate(path): _curpath = getcwd() chdir(path) status = system("cvs update") chdir(_curpath) return status def svnupdate(path): _curpath = getcwd() chdir(path) #system("TortoiseProc.exe /command:update /path:\"" + path + "\" /notempfile /closeonend:1") status = system("svn update") chdir(_curpath) return status # 执行shell命令的方式1 # os.system(my_command) // it return 0 or 1 .. 1 on failure # 执行shell命令的方式2 # (stdout, stderr) = popen2.popen3(my_command) # stdout.read() // console output # stderr.read() // error output if __name__ == '__main__': #Well, to get the path + script file do something like: import os, sys print os.path.join(sys.path[0], sys.argv[0]) import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)-8s %(message)s', filename='autoupdate.log', filemode='w') logging.debug('A debug message') logging.info('Some information') logging.warning('A shot across the bows') traverse('./') ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.