python 提交SVN 写更新日志

SCENE = "mjdy_dyhry"

DIRS = {
"md5/scenes/" + SCENE,
"data/tex/scenes/" + SCENE,
"data/tex/share",
"data/mesh/scenes/" + SCENE,
}

import os

WORKSPACE = "D:/workspace/muData/"#os.getcwd()+

# execute command, and return the output
def execCmd(cmd):
    r = os.popen(cmd)
    text = r.read()
    r.close()
    return text
# write "data" to file-filename
def writeFile(filename, data):
    f = open(filename, "w")
    f.write(data)
    f.close()

def svnCommit(targetDir):
    cmd = "svn up \"%s\" --non-interactive -q"
    logtext = execCmd(cmd% targetDir) + "\n"
    cmd = "svn add \"%s\" --force"
    logtext += execCmd(cmd% targetDir) + "\n"
    cmd = "svn commit \"%s\" -m ‘Auto_Commit‘"
    logtext += execCmd(cmd% targetDir) + "\n"
    return logtext

def updateAll():
    logtext = ""
    for key in DIRS:
        logtext += svnCommit(WORKSPACE + key)
    print logtext
    return logtext

import re
import time

def filter(text):
    vec = text.split("\n")
    rs = ""
    for line in vec:
        print line
        if re.match( r‘Sending*‘, line, re.M|re.I):
            rs += line + "\n"
        elif re.match( r‘Adding*‘, line, re.M|re.I):
            rs += line + "\n"
    return rs

info = updateAll()
loginfo = filter(info)
if not os.path.exists("loghistory"):
    os.mkdir("loghistory")

curtime = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time())) + ".txt"

logfile = "loghistory/" + curtime
writeFile(logfile, loginfo)
if(len(loginfo) > 8):
    execCmd("loghistory\\" + curtime)

python 提交SVN 写更新日志,布布扣,bubuko.com

时间: 2024-10-09 20:37:02

python 提交SVN 写更新日志的相关文章

CentOS下的svn强制用户提交时写日志

问题:在项目提交时候不写日志,在后期查看修改历史时需要对比版本才知道提交原因.解决方案:在svn服务端通过hooks在提交时强制要求写日志.#!/bin/shREPOS="$1"TXN="$2" SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`if [ "$L

【更新日志】售后CP更新日志

记录一下: [售后CP更新日志] ============================================ 更新时间:[2015-02-28 11:51] 更新内容: 1.版本升级,框架升级,框架升级版本3.1.2.3 2.功能升级,工作流断开后可以自动重连. ============================================ 更新时间:[2014-10-10 14:03] 更新内容: 1.功能升级,研发工单在填写工作日志时同步更新Order_Task关联表

svn自动更新

对于做互联网开发的人来说,如果公司大一点,可能需要用到svn,这样好几个人就可以一起开发一个网站来提高效率,下面是如何安装svn和本地更新后如何服务器也即是更新. 第一首选是下载文件下载服务器端的Subversion和TortoiseSVN(这个客户端也需要安装)你可以通过我已经封装好的下载第二安装文件并经行调试由于安装过程太多我就复制网上的并且我已经下载了svn软件就是有点太大40M多 点击下载里面有安装教程和安装包按循序安装下来就可以了. 下面在讲一下就是本地上传后服务器却不更新的问题,还得

[转] OpenStack Kilo 更新日志

OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录 [隐藏] 1 OpenStack 2015.1.0 (Kilo)更新日志 1.1 OpenStack对象存储(Swift) 1.1.1 新功能 1.1.1.1 纠删码(beta) 1.1.1.2 复合型令牌(Composite tokens) 1.1.1.3 更小规模.不平衡集群的数据位置更新 1.1.1.4

VisualSVN设置提交时必须输入日志信息

VisualSVN设置提交时必须输入日志信息 1.svn提交时强制输入提交信息 为了阻止SVN提交空日志信息和垃圾文件可以在SVN服务器端强制必须填写日志信息,这时需用到pre-commit钩子脚本. 2.设置方法 (1)打开VisualSVN管理控制台 (2)右键你要设置的代码仓库 (3)所有任务->Manage Hooks…… (4)编辑“Pre-commit hook",输入如下内容: @echo off :: :: Stops commits that have empty log

SQLite 预写式日志

SQLite在3.7.0版本引入了WAL (Write-Ahead-Logging),WAL的全称是Write Ahead Logging,它是很多数据库中用于实现原子事务的一种机制,引入WAL机制之前,SQLite使用rollback journal机制实现原子事务.       rollback journal机制的原理是:在修改数据库文件中的数据之前,先将修改所在分页中的数据备份在另外一个地方,然后才将修改写入到数据库文件中:如果事务失败,则将备份数据拷贝回来,撤销修改:如果事务成功,则删

我们是这样写升级日志的,处处可以体现人文情怀

做软件,特别是SaaS软件,一般都会把升级日志公布给用户.让用户知道每次都升级了哪些内容.传统的格式无非是: 1.新增了某某按钮 2.修改了无法保存的错误 3.... 我们稍微给升级内容加入了人文情怀.升级日志本来就是开发者与用户的沟通的一个载体,何不写的轻松点呢?请看我们的做法. 超级表格已经升级多次了.直到本次升级,我们公布了升级内容.内容是这样写的: 2014-05-26:这是我第一次记录升级内容,以后每次升级都会在这里累计记录-------------------------------

SVN自助更新:运维利器Puppet实例讲解(一)(1)

Puppet是一种Linux.Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.本文通过Puppet进行Apache Web服务器的配置同步,对于两台以上服务器的配置管理非常方便. 这个SVN自助更新系统的实现思路如下: 一.开发平台 apache+perl-cgi puppet 二.功能介绍 系统管理员/项目执行者/开发人员通过web的get对应的url,然后触发更新puppet-master中的一个文件,puppet-cl

预写式日志WAL

Chapter 25. 预写式日志(Write-Ahead Logging (WAL)) Table of Contents 25.1. WAL 的好处 25.2. WAL 配置 25.3. 内部 预写式日志 (WAL) 是一种实现事务日志的标准方法.有关它的详细描述可以在大多数(如果不是全部的话)有关事务处理的书中找到. 简而言之,WAL 的中心思想是对数据文件的修改(它们是表和索引的载体)必须是只能发生在这些修改已经记录了日志之后, 也就是说,在描述这些变化的日志记录冲刷到永久存储器之后.