summaryrefslogtreecommitdiffstats
path: root/clang/utils/FindSpecRefs
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-09-04 20:26:14 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-09-04 20:26:14 +0000
commit217836527c8a818300123f4b49cfa25ca5bcd72a (patch)
tree4b1b3272e728440bd6cb5b189b9aee765275a63a /clang/utils/FindSpecRefs
parentc7dfbfd544ac227981cec670a31a18967b56cdd3 (diff)
downloadbcm5719-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-xclang/utils/FindSpecRefs65
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, {}, [])
OpenPOWER on IntegriCloud