#!/usr/bin/env python
"""
A convenience script to update a pre-specified folder containing
subversion, mercurial, bazaar, and/or git source folders
To use it:
- change the 'src' variable below to point to your source folder
- name this script to something appropriate (I call it 'update')
- put it into a directory on your PATH
"""
import os, sys
# define source folder here
src = '/home/user/src'
def run(cmd):
print cmd
os.system(cmd)
operations = {
'.bzr': ['bzr pull', 'bzr update'],
'.hg': ['hg pull', 'hg update'],
'.svn': ['svn update'],
'.git': ['git pull']
}
for folder in os.listdir(src):
target = os.path.join(src, folder)
if os.path.isdir(target):
contents = os.listdir(target)
for f in contents:
if f in operations:
# print f, target
os.chdir(target)
cmds = operations[f]
print target, '-->',
for cmd in cmds:
run(cmd)