From 879d19d66cec1a012bf01d8d57832a9667872c8f Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Thu, 6 Nov 2014 21:42:24 -0500 Subject: [PATCH] First attempt at parsing a symbol section. --- src | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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() -- 2.43.0