SVN自动更新,更改所有者为www的python代码
使用svn的钩子调用
大写字母的变量需要根据环境配置。
import os,time,commands
auto_up = ['DIR1', 'DIR2', '...']
base_dir = 'BASE_DIR'
repos = 'REPOS'
svn_user = 'USER'
svn_pass = 'PASSWORD'
owner_id = 501
owner_group = 501
svn_up = '/usr/bin/svn up --username=' + svn_user + ' --password=' + svn_pass + ' --no-auth-cache --non-interactive ';
svn_look = 'svnlook changed ' + repos
print time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
# auto update files
print 'Auto update dirs:'
for p in auto_up:
print "\t", p
commands.getstatusoutput(svn_up + base_dir + p)
# change owners
print 'Change owners:'
(rc1,rs1) = commands.getstatusoutput(svn_look)
up_list = rs1.split("\n")
for f in up_list:
file_name = f[4:]
if f[0] != 'D':
os.chown(base_dir+file_name, owner_id, owner_group)
print "\t", file_name
print