def svn_versions_from_vcs(tag_prefix, root, verbose=False):
if not os.path.exists(os.path.join(root, '<STR_LIT>')):<EOL><INDENT>if verbose:<EOL><INDENT>print("<STR_LIT>" % root)<EOL><DEDENT>return {}<EOL><DEDENT>current_module = sys.modules[__name__]<EOL>tag_url = getattr(current_module, '<STR_LIT>', None)<EOL>if tag_url is None:<EOL><INDENT>vcs_settings = getattr(current_module, '<STR_LIT>', None)<EOL>if vcs_settings is not None and'<STR_LIT>' in vcs_settings and'<STR_LIT>' in vcs_settings['<STR_LIT>']:<EOL><INDENT>tag_url = vcs_settings['<STR_LIT>']['<STR_LIT>']<EOL><DEDENT><DEDENT>if tag_url is None:<EOL><INDENT>raise ValueError("<STR_LIT>"<EOL>"<STR_LIT>")<EOL><DEDENT>svn_commands = ['<STR_LIT>']<EOL>info_xml = run_command(svn_commands, ['<STR_LIT>', '<STR_LIT>', tag_url], cwd=root)<EOL>DO(dustin): This should raise an EnvironmentError upon failure.<EOL>if info_xml is None:<EOL><INDENT>print("<STR_LIT>")<EOL>return {}<EOL><DEDENT>(releases, latest_revision) = svn_parse_tag_xml(info_xml)<EOL>release_info = releases[latest_revision]<EOL>release_name = release_info['<STR_LIT:name>']<EOL>versions = { '<STR_LIT:default>': release_name, <EOL>'<STR_LIT:version>': release_name, <EOL>'<STR_LIT>': release_name }<EOL>amples of strings returned by Git.<EOL><INDENT>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT:default>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL>versions["<STR_LIT>"]<EOL><DEDENT>return versions<EOL>
Return a dictionary of values derived directly from the VCS. This is the
    third attempt to find information by get_versions().