From: Eric S. Raymond Date: Thu, 6 Nov 2014 18:26:00 +0000 (-0500) Subject: Argument defaulting now works. X-Git-Tag: 0.1~29 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=928cec303d83cad099b746b46e63ce71f858fed6;p=src.git Argument defaulting now works. --- diff --git a/src b/src index f7d33cb..d9ca235 100755 --- a/src +++ b/src @@ -12,6 +12,10 @@ def announce(msg): def complain(msg): sys.stderr.write("src: " + msg + "\n") +def croak(msg): + sys.stderr.write("src: " + msg + "\n") + sys.exit(1) + debug = 1 DEBUG_COMMANDS = 1 # Show commands as they are executed @@ -107,29 +111,33 @@ def init_method(*args): else: complain(".src/ exists but is not a directory.") +def preamble(cmd, args): + "Common setup code." + if args: + return list(args) + else: + masters = os.listdir(".src") + if len(masters) == 1: + return [masters[0][:-2]] + else: + croak("%s requires at least one file argument" % cmd) + def add_method(*args): "Register a file into src control." - preamble("add", args) + args = preamble("add", 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"): - complain("%s is already registered.") + elif os.path.exists(".src/%s,v" % arg): + complain("%s is already registered." % arg) else: do_or_die("rcs -q -i %s