snippet to update local (bazaar, mercurial, svn) versioned source

Alia Khouri alia_khouri at yahoo.com
Wed Jul 16 04:25:53 EDT 2008


On Jul 16, 8:34 am, Alia Khouri <alia_kho... at yahoo.com> wrote:
> Here's a very simple snippet I use to automatically keep my versioned
> sources fresh.. Posted here in case it may be of use to anybody...
>
> <code>
> #!/usr/local/bin/python
> import os, sys
>
> src = '/Users/ak/Code/src'
>
> # utility functions
> join, isdir, listdir = os.path.join, os.path.isdir
> def run(cmd):
>     print cmd
>     os.system(cmd)
>
> ops = {
>     '.bzr': ['bzr pull', 'bzr update'],
>     '.hg': ['hg pull', 'hg update'],
>     '.svn': ['svn update']
>
> }
>
> for folder in os.listdir(src):
>     target = os.path.join(src,folder)
>     if os.path.isdir(target):
>         internal = os.listdir(target)
>         for f in internal:
>             if f in ops:
>                 print
>                 os.chdir(target)
>                 cmds = ops[f]
>                 print
>                 print target, '-->',
>                 for cmd in cmds:
>                     run(cmd)
>
> </code>

My bad...., here's the one that actually (-:

<code>

#!/usr/local/bin/python
import os, sys

src = '/Users/sa/Code/src'

# utility functions
join, isdir = os.path.join, os.path.isdir
def run(cmd):
    print cmd
    os.system(cmd)

ops = {
    '.bzr': ['bzr pull', 'bzr update'],
    '.hg': ['hg pull', 'hg update'],
    '.svn': ['svn update']
}

for folder in os.listdir(src):
    target = join(src,folder)
    if isdir(target):
        internal = os.listdir(target)
        for f in internal:
            if f in ops:
                print
                # print f, target
                os.chdir(target)
                cmds = ops[f]
                print
                print target, '-->',
                for cmd in cmds:
                    run(cmd)

</code>




More information about the Python-list mailing list