Mercurial > hg > config
comparison python/hgrc.py @ 437:2588ca4ae849
python/hgrc.py
| author | Jeff Hammel <jhammel@mozilla.com> |
|---|---|
| date | Thu, 08 Aug 2013 11:01:21 -0700 |
| parents | ac7973ec485e |
| children | ae2db9e613f1 |
comparison
equal
deleted
inserted
replaced
| 436:651caa15d80f | 437:2588ca4ae849 |
|---|---|
| 9 # imports | 9 # imports |
| 10 import optparse | 10 import optparse |
| 11 import os | 11 import os |
| 12 import subprocess | 12 import subprocess |
| 13 import sys | 13 import sys |
| 14 from ConfigParser import RawCOnfigParser as ConfigParser | 14 from ConfigParser import RawConfigParser as ConfigParser |
| 15 | 15 |
| 16 def main(args=sys.argv[1:]): | 16 def main(args=sys.argv[1:]): |
| 17 | 17 |
| 18 # parse command line arguments | 18 # parse command line arguments |
| 19 usage = '%prog [options] repository <repository> <...>' | 19 usage = '%prog [options] repository <repository> <...>' |
| 24 parser.add_option('--ssh', dest='default_push_ssh', | 24 parser.add_option('--ssh', dest='default_push_ssh', |
| 25 action='store_true', default=False, | 25 action='store_true', default=False, |
| 26 help="use `default` entries for `default-push`") | 26 help="use `default` entries for `default-push`") |
| 27 parser.add_option('--push', '--default-push', dest='default_push', | 27 parser.add_option('--push', '--default-push', dest='default_push', |
| 28 help="set [paths] default-push location") | 28 help="set [paths] default-push location") |
| 29 options, args = options.parse_args(args) | 29 options, args = parser.parse_args(args) |
| 30 | 30 |
| 31 # if not specified, use repo from `hg root` | 31 # if not specified, use repo from `hg root` |
| 32 if not args: | 32 if not args: |
| 33 args = [subprocess.check_output(['hg', 'root'])] | 33 args = [subprocess.check_output(['hg', 'root']).strip()] |
| 34 | 34 |
| 35 # if not specified, set a default action | 35 # if not specified, set a default action |
| 36 default_action = 'default_push_ssh' | 36 default_action = 'default_push_ssh' |
| 37 actions = ('default_push', | 37 actions = ('default_push', |
| 38 'default_push_ssh', | 38 'default_push_ssh', |
| 58 hgrcpath = os.path.join(path, 'hgrc') | 58 hgrcpath = os.path.join(path, 'hgrc') |
| 59 elif os.path.exists(subhgdir): | 59 elif os.path.exists(subhgdir): |
| 60 if not os.path.isdir(subhgdir): | 60 if not os.path.isdir(subhgdir): |
| 61 not_a_directory.append(subhgdir) | 61 not_a_directory.append(subhgdir) |
| 62 continue | 62 continue |
| 63 hgrcpath = os.path.join(subhgdir, 'hgrc') | |
| 63 else: | 64 else: |
| 64 not_hg.append(path) | 65 not_hg.append(path) |
| 65 continue | 66 continue |
| 67 hgrc.append(hgrcpath) | |
| 66 else: | 68 else: |
| 67 assert os.path.isfile(path), "%s is not a file, exiting" % path | 69 assert os.path.isfile(path), "%s is not a file, exiting" % path |
| 68 hgrc.append(path) | 70 hgrc.append(path) |
| 69 | 71 |
| 70 # raise errors if encountered | 72 # raise errors if encountered |
| 71 if sum(errors.values()): | 73 if filter(None, errors.values()): |
| 72 for key, value in errors.items(): | 74 for key, value in errors.items(): |
| 73 if value: | 75 if value: |
| 74 print '%s: %s' % (key, ', '.join(value)) | 76 print '%s: %s' % (key, ', '.join(value)) |
| 75 parser.exit(1) | 77 parser.exit(1) |
| 76 | 78 |
