From a8976b60da9a7ba07a1bc4afbc86238dfca06a7b Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 7 Nov 2014 16:05:52 -0500 Subject: [PATCH] Use -S to make the test clean up after itself. --- src | 45 +++++++++++++++++++++++++++------------------ src.asc | 17 +++++++++++++---- srctest | 9 +++++++-- 3 files changed, 47 insertions(+), 24 deletions(-) diff --git a/src b/src index 306ce56..b3170cf 100755 --- a/src +++ b/src @@ -35,6 +35,9 @@ DEBUG_PARSE = 2 # Debug logfile parse # If true (option -T) use an artificial clock for regression testing pseudotime = False +# Repo directory +repodir = ".src" + def do_or_die(dcmd, legend=b"", loud=False): "Either execute a command or raise a fatal exception." if legend: @@ -118,7 +121,7 @@ class RCSLog: self.name = name self.revlist = [] self.symbols = {} - with popen_or_die("cd .src >/dev/null; rlog %s; cd ..>/dev/null" % name) as fp: + with popen_or_die("cd %s >/dev/null; rlog %s; cd ..>/dev/null" % (repodir, name)) as fp: self.revlist = [] self.lockrevs = [] maxrevno = 0 @@ -251,7 +254,7 @@ src help [command] Displays help for commands. src init:: - Creates a .src directory if none already exists + Creates a repo directory if none already exists src add ['file'...] Initialize new project histories for specified files. @@ -296,16 +299,16 @@ src fast-export ['file'...] """ def init_method(*args): - "Create a .src directory if none already exists." - if not os.path.exists(".src"): + "Create a repo directory if none already exists." + if not os.path.exists(repodir): try: - os.mkdir(".src") + os.mkdir(repodir) except OSError: - complain(".src/ creation failed, check directory permissions.") - elif os.path.isdir(".src"): - complain(".src/ already exists.") + complain("creation failed, check directory permissions.") + elif os.path.isdir(repodir): + complain("%s already exists." % repodir) else: - complain(".src/ exists but is not a directory.") + complain("%s exists but is not a directory." % repodir) def preamble(cmd, args): "Common setup code." @@ -343,7 +346,10 @@ def preamble(cmd, args): croak("malformed revision spec: %s" % revspec) revspec = (start, end) if not args: - masters = os.listdir(".src") + try: + masters = os.listdir(repodir) + except OSError: + croak("repo directory %s does not exist" % repodir) if len(masters) == 1: args += [master[:-2] for master in masters] else: @@ -358,10 +364,10 @@ def add_method(*args): for arg in args: if not os.path.exists(arg): complain("I see no '%s' here." % arg) - elif os.path.exists(".src/%s,v" % arg): + elif os.path.exists("%s/%s,v" % (repodir, arg)): complain("%s is already registered." % arg) else: - do_or_die("rcs -q -kb -i {0} >/dev/null 2>&1 check "smoke test" -- 2.43.0