Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 28440:855d9b2eea67
debuginstall: convert to formatter
commit editor now reports its editor
default template is now reported
a broken vi editor (vi not in path) is still not considered a problem (!!)
author | timeless <timeless@mozdev.org> |
---|---|
date | Wed, 09 Mar 2016 18:58:51 +0000 |
parents | 7f77e71e5d7e |
children | c90cfe76e024 |
comparison
equal
deleted
inserted
replaced
28439:b6e71f8af5b8 | 28440:855d9b2eea67 |
---|---|
2698 chainratio=chainratio, lindist=lineardist, | 2698 chainratio=chainratio, lindist=lineardist, |
2699 extradist=extradist, extraratio=extraratio) | 2699 extradist=extradist, extraratio=extraratio) |
2700 | 2700 |
2701 fm.end() | 2701 fm.end() |
2702 | 2702 |
2703 @command('debuginstall', [], '', norepo=True) | 2703 @command('debuginstall', [] + formatteropts, '', norepo=True) |
2704 def debuginstall(ui): | 2704 def debuginstall(ui, **opts): |
2705 '''test Mercurial installation | 2705 '''test Mercurial installation |
2706 | 2706 |
2707 Returns 0 on success. | 2707 Returns 0 on success. |
2708 ''' | 2708 ''' |
2709 | 2709 |
2714 f.close() | 2714 f.close() |
2715 return name | 2715 return name |
2716 | 2716 |
2717 problems = 0 | 2717 problems = 0 |
2718 | 2718 |
2719 fm = ui.formatter('debuginstall', opts) | |
2720 fm.startitem() | |
2721 | |
2719 # encoding | 2722 # encoding |
2720 ui.status(_("checking encoding (%s)...\n") % encoding.encoding) | 2723 fm.write('encoding', _("checking encoding (%s)...\n"), encoding.encoding) |
2724 err = None | |
2721 try: | 2725 try: |
2722 encoding.fromlocal("test") | 2726 encoding.fromlocal("test") |
2723 except error.Abort as inst: | 2727 except error.Abort as inst: |
2724 ui.write(" %s\n" % inst) | 2728 err = inst |
2725 ui.write(_(" (check that your locale is properly set)\n")) | |
2726 problems += 1 | 2729 problems += 1 |
2730 fm.condwrite(err, 'encodingerror', _(" %s\n" | |
2731 " (check that your locale is properly set)\n"), err) | |
2727 | 2732 |
2728 # Python | 2733 # Python |
2729 ui.status(_("checking Python executable (%s)\n") % sys.executable) | 2734 fm.write('pythonexe', _("checking Python executable (%s)\n"), |
2730 ui.status(_("checking Python version (%s)\n") | 2735 sys.executable) |
2731 % ("%s.%s.%s" % sys.version_info[:3])) | 2736 fm.write('pythonver', _("checking Python version (%s)\n"), |
2732 ui.status(_("checking Python lib (%s)...\n") | 2737 ("%s.%s.%s" % sys.version_info[:3])) |
2733 % os.path.dirname(os.__file__)) | 2738 fm.write('pythonlib', _("checking Python lib (%s)...\n"), |
2739 os.path.dirname(os.__file__)) | |
2734 | 2740 |
2735 # compiled modules | 2741 # compiled modules |
2736 ui.status(_("checking installed modules (%s)...\n") | 2742 fm.write('hgmodules', _("checking installed modules (%s)...\n"), |
2737 % os.path.dirname(__file__)) | 2743 os.path.dirname(__file__)) |
2744 | |
2745 err = None | |
2738 try: | 2746 try: |
2739 from . import ( | 2747 from . import ( |
2740 base85, | 2748 base85, |
2741 bdiff, | 2749 bdiff, |
2742 mpatch, | 2750 mpatch, |
2743 osutil, | 2751 osutil, |
2744 ) | 2752 ) |
2745 dir(bdiff), dir(mpatch), dir(base85), dir(osutil) # quiet pyflakes | 2753 dir(bdiff), dir(mpatch), dir(base85), dir(osutil) # quiet pyflakes |
2746 except Exception as inst: | 2754 except Exception as inst: |
2747 ui.write(" %s\n" % inst) | 2755 err = inst |
2748 ui.write(_(" One or more extensions could not be found")) | |
2749 ui.write(_(" (check that you compiled the extensions)\n")) | |
2750 problems += 1 | 2756 problems += 1 |
2757 fm.condwrite(err, 'extensionserror', " %s\n", err) | |
2751 | 2758 |
2752 # templates | 2759 # templates |
2753 from . import templater | 2760 from . import templater |
2754 p = templater.templatepaths() | 2761 p = templater.templatepaths() |
2755 ui.status(_("checking templates (%s)...\n") % ' '.join(p)) | 2762 fm.write('templatedirs', 'checking templates (%s)...\n', ' '.join(p)) |
2763 fm.condwrite(not p, '', _(" no template directories found\n")) | |
2756 if p: | 2764 if p: |
2757 m = templater.templatepath("map-cmdline.default") | 2765 m = templater.templatepath("map-cmdline.default") |
2758 if m: | 2766 if m: |
2759 # template found, check if it is working | 2767 # template found, check if it is working |
2768 err = None | |
2760 try: | 2769 try: |
2761 templater.templater(m) | 2770 templater.templater(m) |
2762 except Exception as inst: | 2771 except Exception as inst: |
2763 ui.write(" %s\n" % inst) | 2772 err = inst |
2764 p = None | 2773 p = None |
2774 fm.condwrite(err, 'defaulttemplateerror', " %s\n", err) | |
2765 else: | 2775 else: |
2766 ui.write(_(" template 'default' not found\n")) | |
2767 p = None | 2776 p = None |
2768 else: | 2777 fm.condwrite(p, 'defaulttemplate', |
2769 ui.write(_(" no template directories found\n")) | 2778 _("checking default template (%s)\n"), m) |
2779 fm.condwrite(not m, 'defaulttemplatenotfound', | |
2780 _(" template '%s' not found\n"), "default") | |
2770 if not p: | 2781 if not p: |
2771 ui.write(_(" (templates seem to have been installed incorrectly)\n")) | |
2772 problems += 1 | 2782 problems += 1 |
2783 fm.condwrite(not p, '', | |
2784 _(" (templates seem to have been installed incorrectly)\n")) | |
2773 | 2785 |
2774 # editor | 2786 # editor |
2775 ui.status(_("checking commit editor...\n")) | |
2776 editor = ui.geteditor() | 2787 editor = ui.geteditor() |
2777 editor = util.expandpath(editor) | 2788 editor = util.expandpath(editor) |
2789 fm.write('editor', _("checking commit editor... (%s)\n"), editor) | |
2778 cmdpath = util.findexe(shlex.split(editor)[0]) | 2790 cmdpath = util.findexe(shlex.split(editor)[0]) |
2779 if not cmdpath: | 2791 fm.condwrite(not cmdpath and editor == 'vi', 'vinotfound', |
2780 if editor == 'vi': | 2792 _(" No commit editor set and can't find %s in PATH\n" |
2781 ui.write(_(" No commit editor set and can't find vi in PATH\n")) | 2793 " (specify a commit editor in your configuration" |
2782 ui.write(_(" (specify a commit editor in your configuration" | 2794 " file)\n"), not cmdpath and editor == 'vi' and editor) |
2783 " file)\n")) | 2795 fm.condwrite(not cmdpath and editor != 'vi', 'editornotfound', |
2784 else: | 2796 _(" Can't find editor '%s' in PATH\n" |
2785 ui.write(_(" Can't find editor '%s' in PATH\n") % editor) | 2797 " (specify a commit editor in your configuration" |
2786 ui.write(_(" (specify a commit editor in your configuration" | 2798 " file)\n"), not cmdpath and editor) |
2787 " file)\n")) | 2799 if not cmdpath and editor != 'vi': |
2788 problems += 1 | 2800 problems += 1 |
2789 | 2801 |
2790 # check username | 2802 # check username |
2791 ui.status(_("checking username...\n")) | 2803 username = None |
2804 err = None | |
2792 try: | 2805 try: |
2793 ui.username() | 2806 username = ui.username() |
2794 except error.Abort as e: | 2807 except error.Abort as e: |
2795 ui.write(" %s\n" % e) | 2808 err = e |
2796 ui.write(_(" (specify a username in your configuration file)\n")) | |
2797 problems += 1 | 2809 problems += 1 |
2798 | 2810 |
2811 fm.condwrite(username, 'username', _("checking username (%s)\n"), username) | |
2812 fm.condwrite(err, 'usernameerror', _("checking username...\n %s\n" | |
2813 " (specify a username in your configuration file)\n"), err) | |
2814 | |
2815 fm.condwrite(not problems, '', | |
2816 _("no problems detected\n")) | |
2799 if not problems: | 2817 if not problems: |
2800 ui.status(_("no problems detected\n")) | 2818 fm.data(problems=problems) |
2801 else: | 2819 fm.condwrite(problems, 'problems', |
2802 ui.write(_("%s problems detected," | 2820 _("%s problems detected," |
2803 " please check your install!\n") % problems) | 2821 " please check your install!\n"), problems) |
2822 fm.end() | |
2804 | 2823 |
2805 return problems | 2824 return problems |
2806 | 2825 |
2807 @command('debugknown', [], _('REPO ID...'), norepo=True) | 2826 @command('debugknown', [], _('REPO ID...'), norepo=True) |
2808 def debugknown(ui, repopath, *ids, **opts): | 2827 def debugknown(ui, repopath, *ids, **opts): |