#!/usr/bin/python import subprocess import argparse import os def touch(fname, times=None): with file(fname, 'a'): os.utime(fname, times) parser = argparse.ArgumentParser() parser.add_argument('--root', type=str) parser.add_argument('--svn-info', dest='svn_info', type=str) opt = parser.parse_args() with open(opt.svn_info, 'r') as f: for line in f.readlines(): if not line: continue uri, output_dir = line.strip().split(' ') output_dir = os.path.abspath(output_dir.replace('$(root)', opt.root)) subprocess.Popen(['svn', 'export', '--quiet', '--force', '--non-interactive', uri, output_dir]).wait() for root, dirs, files in os.walk(opt.root): for file_name in files: touch(os.path.join(root, file_name))