def download_cmd(patch_id, output, fmt): """Download patch in diff or mbox format. Download a patch but do not apply it. ``OUTPUT`` is optional and can be an output path or ``-`` to output to ``stdout``. If ``OUTPUT`` is not provided, the output path will be automatically chosen. """ LOG.debug('Downloading patch: id=%d, format=%s', patch_id, fmt) path = None patch = api.detail('patches', patch_id) if output: if fmt == 'diff': content = patch['diff'] else: content = api.get(patch['mbox']).text output.write(content) if output != sys.stdout: path = output.name else: if fmt == 'diff': # TODO(stephenfin): We discard the 'diff' field so we can get the # filename and save to the correct file. We should expose this # information via the API path = api.download(patch['mbox'].replace('mbox', 'raw')) else: path = api.download(patch['mbox']) if path: LOG.info('Downloaded patch to %s', path)
def apply_cmd(bundle_id, args): """Apply bundle. Apply a bundle locally using the 'git-am' command. """ LOG.info('Applying bundle: id=%d', bundle_id) bundle = api.detail('bundles', bundle_id) mbox = api.download(bundle['mbox']).text utils.git_am(mbox, args)
def apply_cmd(series_id, args): """Apply series. Apply a series locally using the 'git-am' command. """ LOG.info('Applying series: id=%d, args=%s', series_id, ' '.join(args)) series = api.detail('series', series_id) mbox = api.download(series['mbox']) utils.git_am(mbox, args)
def apply_cmd(bundle_id, args): """Apply bundle. Apply a bundle locally using the 'git-am' command. Any additional ARGS provided will be passed to the 'git-am' command. """ LOG.debug('Applying bundle: id=%s', bundle_id) bundle = _get_bundle(bundle_id) mbox = api.download(bundle['mbox']) utils.git_am(mbox, args)
def apply_cmd(series_id, args): """Apply series. Apply a series locally using the 'git-am' command. Any additional ARGS provided will be passed to the 'git-am' command. """ LOG.debug('Applying series: id=%d, args=%s', series_id, ' '.join(args)) series = api.detail('series', series_id) mbox = api.download(series['mbox']) utils.git_am(mbox, args)
def download_cmd(bundle_id, output): """Download bundle in mbox format. Download a bundle but do not apply it. ``OUTPUT`` is optional and can be an output path or ``-`` to output to ``stdout``. If ``OUTPUT`` is not provided, the output path will be automatically chosen. """ LOG.debug('Downloading bundle: id=%s', bundle_id) path = None bundle = _get_bundle(bundle_id) path = api.download(bundle['mbox'], output=output) if path: LOG.info('Downloaded bundle to %s', path)
def download_cmd(series_id, output): """Download series in mbox format. Download a series but do not apply it. ``OUTPUT`` is optional and can be an output path or ``-`` to output to ``stdout``. If ``OUTPUT`` is not provided, the output path will be automatically chosen. """ LOG.debug('Downloading series: id=%d', series_id) path = None series = api.detail('series', series_id) path = api.download(series['mbox'], output=output) if path: LOG.info('Downloaded series to %s', path)
def apply_cmd(patch_id, series, deps, args): """Apply patch. Apply a patch locally using the 'git-am' command. """ LOG.info('Applying patch: id=%d, series=%s, deps=%r, args=%s', patch_id, series, deps, ' '.join(args)) patch = api.detail('patches', patch_id) if deps and not series: series = '*' elif not deps: series = None mbox = api.download(patch['mbox'], {'series': series}) utils.git_am(mbox, args)