Mercurial > dotfiles
view unixSoft/bin/hgimp @ 439:2325dea339ca
smailq: vendor script to ease handling outgoing mail
From commit 5b83ca873f1dc9117a9b3590f0aa07fe2806fce9 of
http://git.sthu.org/repos/smailq.git - documented at
https://www.sthu.org/code/smailq.html.
author | Augie Fackler <raf@durin42.com> |
---|---|
date | Sat, 15 Jul 2017 12:57:17 -0400 |
parents | 24d75bc4a3a1 |
children | 957632211aa3 |
line wrap: on
line source
#!/usr/bin/env python import argparse import os import subprocess import sys _MAP = { 'hg': '~/Programming/hg/crew', 'hgsubversion': '~/Programming/hg/hgsubversion', 'hg-git': '~/Programming/hg/hg-git', 'topics': '~/Programming/hg/topic', } def main(argv): p = argparse.ArgumentParser('import patches') p.add_argument('repo', type=str, nargs=1, help='repo name to apply patches to') p.add_argument('--partial', action='store_true', help='Commit partially-applied patches.') args = p.parse_args(argv[1:]) name, = args.repo if name in _MAP: repo = _MAP[name] else: c = [] for n in _MAP: if n.startswith(name): c.append(n) if not c: print 'abort: no repo named %s' % name sys.exit(1) elif len(c) != 1: print 'abort: ambiguous repo name %s matches %s' % ( name, ', '.join(c)) sys.exit(1) repo = _MAP[c[0]] importargs = ['hg', '-R', repo, 'import', '--obsolete'] if args.partial: importargs.append('--partial') importargs.append('-') hg = subprocess.Popen(importargs, stdin=subprocess.PIPE) hg.stdin.write(sys.stdin.read()) hg.stdin.close() hg.wait() sys.exit(hg.returncode) if __name__ == '__main__': main(argv=sys.argv)