From: Eric S. Raymond Date: Fri, 7 Nov 2014 02:42:24 +0000 (-0500) Subject: First attempt at parsing a symbol section. X-Git-Tag: 0.1~8 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=879d19d66cec1a012bf01d8d57832a9667872c8f;p=src.git First attempt at parsing a symbol section. --- diff --git a/src b/src index 8d25094..1fc3d0a 100755 --- a/src +++ b/src @@ -94,6 +94,7 @@ class RCSLog: def __init__(self, name): self.name = name self.revlist = [] + self.symbols = [] with popen_or_die("cd .src >/dev/null; rlog %s; cd ..>/dev/null" % name) as fp: self.revlist = [] self.lockrevs = [] @@ -109,6 +110,10 @@ class RCSLog: if debug >= DEBUG_PARSE: sys.stdout.write("\t-> locks\n") state = "locks" + elif line.startswith("symbols:"): + if debug >= DEBUG_PARSE: + sys.stdout.write("\t-> symbols\n") + state = "symbols" elif line.startswith("----------------------------"): if debug >= DEBUG_PARSE: sys.stdout.write("\t-> logheader\n") @@ -123,6 +128,14 @@ class RCSLog: else: fields = line.strip().split() self.lockrevs.append(fields[1]) + elif state == "symbolic names": + if not line[0].isspace(): + if debug >= DEBUG_PARSE: + sys.stdout.write("\t-> init\n") + state = "init" + else: + fields = line.strip().split() + self.symbols.append(fields[1]) elif state == "logheader": if line.startswith("revision"): fields = line.split()