Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/commands.py @ 3844:3ba82c3f4bc3
Add debuginstall command to do basic install tests
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 10 Dec 2006 00:05:47 -0600 |
parents | 973c6e6ca7a1 |
children | 18855084b922 |
comparison
equal
deleted
inserted
replaced
3843:abaa2cd00d2b | 3844:3ba82c3f4bc3 |
---|---|
824 pp = r.parents(node) | 824 pp = r.parents(node) |
825 ui.write("\t%d -> %d\n" % (r.rev(pp[0]), i)) | 825 ui.write("\t%d -> %d\n" % (r.rev(pp[0]), i)) |
826 if pp[1] != nullid: | 826 if pp[1] != nullid: |
827 ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i)) | 827 ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i)) |
828 ui.write("}\n") | 828 ui.write("}\n") |
829 | |
830 def debuginstall(ui): | |
831 '''test Mercurial installation''' | |
832 | |
833 problems = 0 | |
834 | |
835 # encoding | |
836 ui.status(_("Checking encoding (%s)...\n") % util._encoding) | |
837 try: | |
838 util.fromlocal("test") | |
839 except util.Abort, inst: | |
840 ui.write(" %s\n" % inst) | |
841 problems += 1 | |
842 | |
843 # compiled modules | |
844 ui.status(_("Checking extensions...\n")) | |
845 try: | |
846 import bdiff, mpatch, base85 | |
847 except Exception, inst: | |
848 ui.write(" %s\n" % inst) | |
849 ui.write(_(" One or more extensions could not be found," | |
850 " check your build.\n")) | |
851 problems += 1 | |
852 | |
853 # templates | |
854 ui.status(_("Checking templates...\n")) | |
855 try: | |
856 import templater | |
857 t = templater.templater(templater.templatepath("map-cmdline.default")) | |
858 except Exception, inst: | |
859 ui.write(" %s\n" % inst) | |
860 problems += 1 | |
861 | |
862 # patch | |
863 ui.status(_("Checking patch...\n")) | |
864 path = os.environ.get('PATH', '') | |
865 patcher = util.find_in_path('gpatch', path, | |
866 util.find_in_path('patch', path, None)) | |
867 if not patcher: | |
868 ui.write(_(" Can't find patch or gpatch in PATH\n")) | |
869 problems += 1 | |
870 # should actually attempt a patch here | |
871 | |
872 # merge helper | |
873 ui.status(_("Checking merge helper...\n")) | |
874 cmd = (os.environ.get("HGMERGE") or ui.config("ui", "merge") | |
875 or "hgmerge") | |
876 cmdpath = util.find_in_path(cmd, path) | |
877 if not cmdpath: | |
878 cmdpath = util.find_in_path(cmd.split()[0], path) | |
879 if not cmdpath: | |
880 if cmd == 'hgmerge': | |
881 ui.write(_(" No merge helper set and can't find default" | |
882 " hgmerge script in PATH\n")) | |
883 else: | |
884 ui.write(_(" Can't find merge helper '%s' in PATH\n") % cmd) | |
885 problems += 1 | |
886 # should attempt a non-conflicting merge here | |
887 | |
888 # editor | |
889 ui.status(_("Checking commit editor...\n")) | |
890 editor = (os.environ.get("HGEDITOR") or | |
891 ui.config("ui", "editor") or | |
892 os.environ.get("EDITOR", "vi")) | |
893 cmdpath = util.find_in_path(editor, path) | |
894 if not cmdpath: | |
895 cmdpath = util.find_in_path(editor.split()[0], path) | |
896 if not cmdpath: | |
897 if cmd == 'vi': | |
898 ui.write(_(" No commit editor set and can't find vi in PATH\n")) | |
899 else: | |
900 ui.write(_(" Can't find editor '%s' in PATH\n") % editor) | |
901 problems += 1 | |
902 | |
903 if not problems: | |
904 ui.status(_("No problems detected\n")) | |
905 else: | |
906 ui.write(_("%s problems detected," | |
907 " please check your install!\n") % problems) | |
908 | |
909 return problems | |
829 | 910 |
830 def debugrename(ui, repo, file1, *pats, **opts): | 911 def debugrename(ui, repo, file1, *pats, **opts): |
831 """dump rename information""" | 912 """dump rename information""" |
832 | 913 |
833 ctx = repo.changectx(opts.get('rev', 'tip')) | 914 ctx = repo.changectx(opts.get('rev', 'tip')) |
2522 "debugancestor": (debugancestor, [], _('debugancestor INDEX REV1 REV2')), | 2603 "debugancestor": (debugancestor, [], _('debugancestor INDEX REV1 REV2')), |
2523 "debugcomplete": | 2604 "debugcomplete": |
2524 (debugcomplete, | 2605 (debugcomplete, |
2525 [('o', 'options', None, _('show the command options'))], | 2606 [('o', 'options', None, _('show the command options'))], |
2526 _('debugcomplete [-o] CMD')), | 2607 _('debugcomplete [-o] CMD')), |
2608 "debuginstall": (debuginstall, [], _('debuginstall')), | |
2527 "debugrebuildstate": | 2609 "debugrebuildstate": |
2528 (debugrebuildstate, | 2610 (debugrebuildstate, |
2529 [('r', 'rev', '', _('revision to rebuild to'))], | 2611 [('r', 'rev', '', _('revision to rebuild to'))], |
2530 _('debugrebuildstate [-r REV] [REV]')), | 2612 _('debugrebuildstate [-r REV] [REV]')), |
2531 "debugcheckstate": (debugcheckstate, [], _('debugcheckstate')), | 2613 "debugcheckstate": (debugcheckstate, [], _('debugcheckstate')), |
2785 "verify": (verify, [], _('hg verify')), | 2867 "verify": (verify, [], _('hg verify')), |
2786 "version": (version_, [], _('hg version')), | 2868 "version": (version_, [], _('hg version')), |
2787 } | 2869 } |
2788 | 2870 |
2789 norepo = ("clone init version help debugancestor debugcomplete debugdata" | 2871 norepo = ("clone init version help debugancestor debugcomplete debugdata" |
2790 " debugindex debugindexdot debugdate") | 2872 " debugindex debugindexdot debugdate debuginstall") |
2791 optionalrepo = ("paths serve showconfig") | 2873 optionalrepo = ("paths serve showconfig") |
2792 | 2874 |
2793 def findpossible(ui, cmd): | 2875 def findpossible(ui, cmd): |
2794 """ | 2876 """ |
2795 Return cmd -> (aliases, command table entry) | 2877 Return cmd -> (aliases, command table entry) |