diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-09-04 20:26:14 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-09-04 20:26:14 +0000 |
commit | 217836527c8a818300123f4b49cfa25ca5bcd72a (patch) | |
tree | 4b1b3272e728440bd6cb5b189b9aee765275a63a /clang/utils/FindSpecRefs | |
parent | c7dfbfd544ac227981cec670a31a18967b56cdd3 (diff) | |
download | bcm5719-llvm-217836527c8a818300123f4b49cfa25ca5bcd72a.tar.gz bcm5719-llvm-217836527c8a818300123f4b49cfa25ca5bcd72a.zip |
Fix FindSpecRefs to be Python 2.4 compatible and get the SVN revision
in a more obvious fashion.
llvm-svn: 55791
Diffstat (limited to 'clang/utils/FindSpecRefs')
-rwxr-xr-x | clang/utils/FindSpecRefs | 65 |
1 files changed, 23 insertions, 42 deletions
diff --git a/clang/utils/FindSpecRefs b/clang/utils/FindSpecRefs index a117942eb2c..a23cf98566e 100755 --- a/clang/utils/FindSpecRefs +++ b/clang/utils/FindSpecRefs @@ -354,24 +354,21 @@ def scanFile(path, filename): print >>sys.stderr,'WARNING: Unable to open:',path return - try: - for i,ln in enumerate(f): - ignore = set() - for m in nameAndSpecRefRE.finditer(ln): - section = m.group(2) - name = m.group(1) - if section.endswith('.'): - section = section[:-1] - yield RefItem(name, section, filename, path, i+1) - ignore.add(section) - for m in loneSpecRefRE.finditer(ln): - section = m.group(1) - if section.endswith('.'): - section = section[:-1] - if section not in ignore: - yield RefItem(None, section, filename, path, i+1) - finally: - f.close() + for i,ln in enumerate(f): + ignore = set() + for m in nameAndSpecRefRE.finditer(ln): + section = m.group(2) + name = m.group(1) + if section.endswith('.'): + section = section[:-1] + yield RefItem(name, section, filename, path, i+1) + ignore.add(section) + for m in loneSpecRefRE.finditer(ln): + section = m.group(1) + if section.endswith('.'): + section = section[:-1] + if section not in ignore: + yield RefItem(None, section, filename, path, i+1) ### @@ -450,30 +447,14 @@ def sorted(l): return l def getRevision(path): - import svn, svn.core, svn.client - - revision = [None] - - def info_cb(path, info, pool): - revision[0] = info.rev - - try: - root = os.path.abspath(path) - svn.core.apr_initialize() - pool = svn.core.svn_pool_create(None) - ctx = svn.client.svn_client_ctx_t() - svn.client.svn_client_info(root, - None, - None, - info_cb, - False, - ctx, - pool) - svn.core.svn_pool_destroy(pool) - except: - pass - - return revision[0] + import subprocess + p = subprocess.Popen(['svn', 'info', path], + stdin=open('/dev/null','r'), + stdout=subprocess.PIPE) + for ln in p.stdout.read(1024).split('\n'): + if ln.startswith('Revision:'): + return ln.split(':',1)[1].strip() + return None def buildRefTree(references): root = (None, {}, []) |