def _cvs_downloader(url, local, config, opts): rlp = os.path.relpath(path.host(local)) us = url.split('?') module = None tag = None date = None src_prefix = None for a in us[1:]: _as = a.split('=') if _as[0] == 'module': if len(_as) != 2: raise error.general('invalid cvs module: %s' % (a)) module = _as[1] elif _as[0] == 'src-prefix': if len(_as) != 2: raise error.general('invalid cvs src-prefix: %s' % (a)) src_prefix = _as[1] elif _as[0] == 'tag': if len(_as) != 2: raise error.general('invalid cvs tag: %s' % (a)) tag = _as[1] elif _as[0] == 'date': if len(_as) != 2: raise error.general('invalid cvs date: %s' % (a)) date = _as[1] repo = cvs.repo(local, opts, config.macros, src_prefix) if not repo.valid(): if not path.isdir(local): log.notice('Creating source directory: %s' % \ (os.path.relpath(path.host(local)))) if _do_download(opts): path.mkdir(local) log.notice('cvs: checkout: %s -> %s' % (us[0], rlp)) if _do_download(opts): repo.checkout(':%s' % (us[0][6:]), module, tag, date) for a in us[1:]: _as = a.split('=') if _as[0] == 'update': log.notice('cvs: update: %s' % (us[0])) if _do_download(opts): repo.update() elif _as[0] == 'reset': log.notice('cvs: reset: %s' % (us[0])) if _do_download(opts): repo.reset() return True
def _cvs_downloader(url, local, config, opts): rlp = os.path.relpath(path.host(local)) us = url.split("?") module = None tag = None date = None src_prefix = None for a in us[1:]: _as = a.split("=") if _as[0] == "module": if len(_as) != 2: raise error.general("invalid cvs module: %s" % (a)) module = _as[1] elif _as[0] == "src-prefix": if len(_as) != 2: raise error.general("invalid cvs src-prefix: %s" % (a)) src_prefix = _as[1] elif _as[0] == "tag": if len(_as) != 2: raise error.general("invalid cvs tag: %s" % (a)) tag = _as[1] elif _as[0] == "date": if len(_as) != 2: raise error.general("invalid cvs date: %s" % (a)) date = _as[1] repo = cvs.repo(local, opts, config.macros, src_prefix) if not repo.valid(): if not path.isdir(local): log.notice("Creating source directory: %s" % (os.path.relpath(path.host(local)))) if not opts.dry_run(): path.mkdir(local) log.notice("cvs: checkout: %s -> %s" % (us[0], rlp)) if not opts.dry_run(): repo.checkout(":%s" % (us[0][6:]), module, tag, date) for a in us[1:]: _as = a.split("=") if _as[0] == "update": log.notice("cvs: update: %s" % (us[0])) if not opts.dry_run(): repo.update() elif _as[0] == "reset": log.notice("cvs: reset: %s" % (us[0])) if not opts.dry_run(): repo.reset() return True