Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 1206:6512d352d6c1
Redo local clone hgrc fix
We shouldn't copy hgrc on a local clone, nor localtags. Behavior
should be identical to a remote clone.
author | mpm@selenic.com |
---|---|
date | Wed, 07 Sep 2005 19:16:36 -0700 |
parents | 4003ea658693 |
children | a7b8812973d9 |
comparison
equal
deleted
inserted
replaced
1205:4003ea658693 | 1206:6512d352d6c1 |
---|---|
8 from demandload import demandload | 8 from demandload import demandload |
9 from node import * | 9 from node import * |
10 demandload(globals(), "os re sys signal shutil imp") | 10 demandload(globals(), "os re sys signal shutil imp") |
11 demandload(globals(), "fancyopts ui hg util lock revlog") | 11 demandload(globals(), "fancyopts ui hg util lock revlog") |
12 demandload(globals(), "fnmatch hgweb mdiff random signal time traceback") | 12 demandload(globals(), "fnmatch hgweb mdiff random signal time traceback") |
13 demandload(globals(), "ConfigParser errno socket version struct atexit sets") | 13 demandload(globals(), "errno socket version struct atexit sets") |
14 | 14 |
15 class UnknownCommand(Exception): | 15 class UnknownCommand(Exception): |
16 """Exception raised if command is not in the command table.""" | 16 """Exception raised if command is not in the command table.""" |
17 | 17 |
18 def filterfiles(filters, files): | 18 def filterfiles(filters, files): |
608 l = lock.lock(os.path.join(source, ".hg", "lock")) | 608 l = lock.lock(os.path.join(source, ".hg", "lock")) |
609 | 609 |
610 util.copytree(os.path.join(source, ".hg"), os.path.join(dest, ".hg"), | 610 util.copytree(os.path.join(source, ".hg"), os.path.join(dest, ".hg"), |
611 copyfile) | 611 copyfile) |
612 | 612 |
613 for fn in "dirstate", "lock": | 613 for fn in "dirstate", "lock", "hgrc", "localtags": |
614 try: | 614 try: |
615 os.unlink(os.path.join(dest, ".hg", fn)) | 615 os.unlink(os.path.join(dest, ".hg", fn)) |
616 except OSError: | 616 except OSError: |
617 pass | 617 pass |
618 | 618 |
620 | 620 |
621 else: | 621 else: |
622 repo = hg.repository(ui, dest, create=1) | 622 repo = hg.repository(ui, dest, create=1) |
623 repo.pull(other) | 623 repo.pull(other) |
624 | 624 |
625 cfg = ConfigParser.SafeConfigParser() | 625 f = repo.opener("hgrc", "w") |
626 try: | 626 f.write("[paths]\n") |
627 fp = repo.opener('hgrc', 'r') | 627 f.write("default = %s\n" % abspath) |
628 os.unlink(fp.name) | |
629 cfg.readfp(fp) | |
630 except IOError, inst: | |
631 if inst.errno != errno.ENOENT: raise | |
632 if not cfg.has_section('paths'): cfg.add_section('paths') | |
633 cfg.set('paths', 'default', abspath) | |
634 cfg.write(repo.opener('hgrc', 'w')) | |
635 | 628 |
636 if not opts['noupdate']: | 629 if not opts['noupdate']: |
637 update(ui, repo) | 630 update(ui, repo) |
638 | 631 |
639 d.close() | 632 d.close() |