Skip to content

Commit

Permalink
Add code to turn the style stuff into a mercurial hook.
Browse files Browse the repository at this point in the history
Nag the user during compile if they have an hg cloned copy of M5, have
mercurial installed, but don't have the style hook enabled.

--HG--
extra : convert_revision : 6bcbb67f1a3fcd36db7d3ef16a9ff19680f126f2
  • Loading branch information
binkert committed Jul 22, 2007
1 parent 92bb924 commit 4b5ba96
Show file tree
Hide file tree
Showing 2 changed files with 403 additions and 1 deletion.
30 changes: 29 additions & 1 deletion SConstruct
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ import sys
import os
import subprocess

from os.path import join as joinpath
from os.path import isdir, join as joinpath

# Check for recent-enough Python and SCons versions. If your system's
# default installation of Python is not recent enough, you can use a
Expand Down Expand Up @@ -97,6 +97,34 @@ SRCDIR = joinpath(ROOT, 'src')
# tell python where to find m5 python code
sys.path.append(joinpath(ROOT, 'src/python'))

def check_style_hook(ui):
ui.readconfig(joinpath(ROOT, '.hg', 'hgrc'))
style_hook = ui.config('hooks', 'pretxncommit.style', None)

if not style_hook:
print """\
You're missing the M5 style hook.
Please install the hook so we can ensure that all code fits a common style.
All you'd need to do is add the following lines to your repository .hg/hgrc
or your personal .hgrc
----------------
[extensions]
style = %s/util/style.py
[hooks]
pretxncommit.style = python:style.check_whitespace
""" % (ROOT)
sys.exit(1)

if isdir(joinpath(ROOT, '.hg')):
try:
from mercurial import ui
check_style_hook(ui.ui())
except ImportError:
pass

###################################################
#
# Figure out which configurations to set up based on the path(s) of
Expand Down
Loading

0 comments on commit 4b5ba96

Please sign in to comment.