def explain_feature(featurename):
import os<EOL>import featuremonkey<EOL>import importlib<EOL>import subprocess<EOL>def guess_version(feature_module):<EOL><INDENT>if hasattr(feature_module, '<STR_LIT>'):<EOL><INDENT>return feature_module.__version__<EOL><DEDENT>if hasattr(feature_module, '<STR_LIT>'):<EOL><INDENT>return feature_module.get_version()<EOL><DEDENT>return ('<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT>def git_rev(module):<EOL><INDENT>stdout, stderr = subprocess.Popen(<EOL>["<STR_LIT>", "<STR_LIT>", "<STR_LIT>"],<EOL>cwd=os.path.dirname(module.__file__),<EOL>stdout=subprocess.PIPE,<EOL>stderr=subprocess.PIPE<EOL>).communicate()<EOL>if '<STR_LIT>' in stderr:<EOL><INDENT>return '<STR_LIT:->'<EOL><DEDENT>else:<EOL><INDENT>return stdout.strip()<EOL><DEDENT><DEDENT>def git_changes(module):<EOL><INDENT>stdout = subprocess.Popen(<EOL>["<STR_LIT>", "<STR_LIT>", "<STR_LIT>"],<EOL>cwd=os.path.dirname(module.__file__),<EOL>stdout=subprocess.PIPE,<EOL>stderr=subprocess.PIPE<EOL>).communicate()[<NUM_LIT:0>]<EOL>return stdout.strip() or '<STR_LIT:->'<EOL><DEDENT>if featurename in featuremonkey.get_features_from_equation_file(os.environ['<STR_LIT>']):<EOL><INDENT>print()<EOL>print(featurename)<EOL>print('<STR_LIT:->' * <NUM_LIT>)<EOL>print()<EOL>is_subfeature = '<STR_LIT>' in featurename<EOL>try:<EOL><INDENT>feature_module = importlib.import_module(featurename)<EOL><DEDENT>except ImportError:<EOL><INDENT>print('<STR_LIT>' % featurename)<EOL><DEDENT>print('<STR_LIT>' % os.path.dirname(feature_module.__file__))<EOL>print()<EOL>if is_subfeature:<EOL><INDENT>print('<STR_LIT>')<EOL>print()<EOL><DEDENT>else:<EOL><INDENT>print('<STR_LIT>' % str(guess_version(feature_module)))<EOL>print()<EOL>print('<STR_LIT>' % git_rev(feature_module))<EOL>print()<EOL>print('<STR_LIT>' % '<STR_LIT>'.join(git_changes(feature_module).split('<STR_LIT:\n>')))<EOL><DEDENT><DEDENT>else:<EOL><INDENT>print('<STR_LIT>' + featurename)<EOL><DEDENT>
print the location of single feature and its version

    if the feature is located inside a git repository,
    this will also print the git-rev and modified files