Merge pull request #431 from alliedmodders/symbol-repos
Include repo information in symbol files
This commit is contained in:
commit
e0e946afac
@ -32,7 +32,53 @@ with open(symbol_file, 'w') as fp:
|
|||||||
fp.write(stdout)
|
fp.write(stdout)
|
||||||
fp.write(stderr)
|
fp.write(stderr)
|
||||||
|
|
||||||
|
lines = out.splitlines()
|
||||||
|
|
||||||
|
paths = set()
|
||||||
|
roots = {}
|
||||||
|
|
||||||
|
for line in lines:
|
||||||
|
line = line.strip().split(None, 2)
|
||||||
|
|
||||||
|
if line[0] != 'FILE':
|
||||||
|
continue
|
||||||
|
|
||||||
|
path = os.path.dirname(line[2])
|
||||||
|
|
||||||
|
if path in paths:
|
||||||
|
continue
|
||||||
|
|
||||||
|
paths.add(path)
|
||||||
|
|
||||||
|
root = None
|
||||||
|
url = None
|
||||||
|
rev = None
|
||||||
|
|
||||||
|
with open(os.devnull, 'w') as devnull:
|
||||||
|
try:
|
||||||
|
root = subprocess.check_output(['git', 'rev-parse', '--show-toplevel'], stderr=devnull, cwd=path, universal_newlines=True).strip()
|
||||||
|
|
||||||
|
if root in roots:
|
||||||
|
continue
|
||||||
|
|
||||||
|
url = subprocess.check_output(['git', 'ls-remote', '--get-url', 'origin'], stderr=devnull, cwd=path, universal_newlines=True).strip()
|
||||||
|
rev = subprocess.check_output(['git', 'log', '--pretty=format:%H', '-n', '1'], stderr=devnull, cwd=path, universal_newlines=True).strip()
|
||||||
|
except (OSError, subprocess.CalledProcessError):
|
||||||
|
continue
|
||||||
|
|
||||||
|
roots[root] = (url, rev)
|
||||||
|
|
||||||
|
index = 1
|
||||||
|
while lines[index].split(None, 1)[0] == 'INFO':
|
||||||
|
index += 1;
|
||||||
|
|
||||||
|
for root, info in roots.items():
|
||||||
|
lines.insert(index, 'INFO REPO ' + ' '.join([info[1], info[0], root]))
|
||||||
|
index += 1;
|
||||||
|
|
||||||
|
out = os.linesep.join(lines)
|
||||||
|
|
||||||
request = urllib.Request(SYMBOL_SERVER, out)
|
request = urllib.Request(SYMBOL_SERVER, out)
|
||||||
request.add_header('Content-Type', 'text/plain')
|
request.add_header('Content-Type', 'text/plain')
|
||||||
server_response = urllib.urlopen(request).read().decode('utf8')
|
server_response = urllib.urlopen(request).read().decode('utf8').strip()
|
||||||
print(server_response)
|
print(server_response)
|
||||||
|
Loading…
Reference in New Issue
Block a user