зеркало из https://github.com/microsoft/clang-1.git
Fix FindSpecRefs to be Python 2.4 compatible and get the SVN revision
in a more obvious fashion. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@55791 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
7ad1b1fa07
Коммит
6aa9e8af34
|
@ -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, {}, [])
|
||||
|
|
Загрузка…
Ссылка в новой задаче