Changeset 4477

Show
Ignore:
Timestamp:
10/13/08 10:57:09 (1 month ago)
Author:
k0s
Message:

sanify logging, closes #3896; bumping version #

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • svnsyncplugin/0.11/setup.py

    r4076 r4477  
    11from setuptools import find_packages, setup 
    22 
    3 version='0.1.1
     3version='0.1.2
    44 
    55setup(name='svnsyncplugin', 
  • svnsyncplugin/0.11/svnsyncplugin/svnsyncplugin.py

    r3750 r4477  
    3333        # sync the repository 
    3434        directory = self.env.config.get('trac', 'repository_dir') 
    35         svnsync.sync(directory, self.repository_url
     35        svnsync.sync(directory, self.repository_url, logger=self.env.log.info
    3636 
    3737        repos = SubversionRepository(repos_dir, None, self.log) 
  • svnsyncplugin/0.11/svnsyncplugin/svnsync.py

    r4339 r4477  
    1515    """execute command line arguments.  return stdout, stderr, returncode""" 
    1616    command = ' '.join(args) 
    17     verbose = kw.get('verbose', True) 
    18     if verbose
    19         print '> %s' % str(command
     17    logger = kw.get('logger', None) # should be a function taking a string 
     18    if logger
     19        logger(str(command)
    2020    try: 
    2121        process = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) 
     
    3434    return uri 
    3535 
    36 def create(directory, repository, username='svnsync'): 
     36def create(directory, repository, username='svnsync', logger=None): 
    3737    """create a mirror of remote repository at directory""" 
    3838 
    3939    ### create the repository 
     40    if logger: 
     41        logger("Creating repository:  mirroring %s at %s" % (repository, directory)) 
    4042 
    41     sh('svnadmin', 'create', directory
     43    sh('svnadmin', 'create', directory, logger=logger
    4244 
    4345    filename = 'pre-revprop-change' 
     
    5658 
    5759    return sh('svnsync', 'init', '--username', username,  
    58               file_uri(directory), repository
     60              file_uri(directory), repository, logger=logger
    5961 
    60 def sync(directory, repository, username='svnsync'): 
     62def sync(directory, repository, username='svnsync', logger=None): 
    6163 
    6264    # create the mirror if it doesn't exist 
    6365    if not os.path.exists(directory): 
    64         retval = create(directory, repository, username
     66        retval = create(directory, repository, username, logger=logger
    6567        if retval[-1] != 0: 
    6668            return retval 
     
    6971 
    7072    # ensure that the repository is pointed at the right place 
    71     propget = sh('svn', 'propget',  'svn:sync-from-url', '--revprop', '-r', '0', repo
     73    propget = sh('svn', 'propget',  'svn:sync-from-url', '--revprop', '-r', '0', repo, logger=logger
    7274     
    7375    url = propget[0].strip() 
    7476    if url != repository.rstrip('/'): 
    75         print '>>> repository changed! %s -> %s' % (url, repository.strip()) 
    76         print '> resyncing to new repository' 
     77        if logger: 
     78            logger('repository changed! %s -> %s' % (url, repository.strip())) 
     79            logger('resyncing to new repository') 
    7780        import shutil 
    7881        shutil.rmtree(directory) 
    79         sync(directory, repository, username
     82        sync(directory, repository, username, logger=logger
    8083 
    81     return sh('svnsync', 'sync', repo
     84    return sh('svnsync', 'sync', repo, logger=logger
    8285 
    8386if __name__ == '__main__': 
    8487    import optparse 
    8588    import sys 
     89 
     90    logger = sys.stdout.write # log to command line 
    8691 
    8792    # parse command line options 
     
    100105 
    101106    # sync the repository, setting up if necessary 
    102     result = sync(options.directory, options.repository, options.username
     107    result = sync(options.directory, options.repository, options.username, logger=logger
    103108 
    104109    if result[2] != 0: