diff -r 000000000000 -r 6474c204b198 tools/mercurial/mach_commands.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/mercurial/mach_commands.py Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,40 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this, +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +from __future__ import print_function, unicode_literals + +import os +import sys + +from mach.decorators import ( + CommandProvider, + Command, +) + + +@CommandProvider +class VersionControlCommands(object): + def __init__(self, context): + self._context = context + + @Command('mercurial-setup', category='devenv', + description='Help configure Mercurial for optimal development.') + def mercurial_bootstrap(self): + sys.path.append(os.path.dirname(__file__)) + + from hgsetup.wizard import MercurialSetupWizard + + wizard = MercurialSetupWizard(self._context.state_dir) + config_paths = ['~/.hgrc'] + if sys.platform in ('win32', 'cygwin'): + config_paths.insert(0, '~/mercurial.ini') + result = wizard.run(map(os.path.expanduser, config_paths)) + + # Touch a file so we can periodically prompt to update extensions. + state_path = os.path.join(self._context.state_dir, + 'mercurial/setup.lastcheck') + with open(state_path, 'a'): + os.utime(state_path, None) + + return result