]> thyrsus.com Git - src.git/commitdiff
Eliminate byte-stuffing.
authorEric S. Raymond <esr@thyrsus.com>
Sat, 8 Nov 2014 15:59:48 +0000 (10:59 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Sat, 8 Nov 2014 15:59:48 +0000 (10:59 -0500)
src

diff --git a/src b/src
index 808cd1ebd899ec779cd3ba77a8e2f5fffc76f5e2..f529d5cb998807c3848ef7adc19ea428758a4643 100755 (executable)
--- a/src
+++ b/src
@@ -123,6 +123,7 @@ class RCSLog:
         self.name = name
         self.revlist = []
         self.symbols = {}
+        self.delimiter = None
         if not os.path.exists(master(self.name)):
             croak("%s is not registered" % self.name)
         with popen_or_die("cd %s >/dev/null; rlog %s 2>/dev/null; cd ..>/dev/null" % (repodir, name)) as fp:
@@ -437,19 +438,22 @@ def commit_method(*args):
        elif not os.path.exists(master(arg)):
            croak("%s is not registered." % arg)
        else:
+           metadata = RCSLog(arg)
+           sys.stderr.write("Foo! %s\n" % arg)
            if not comment:
                editor = os.getenv("EDITOR") or "emacsclient"
                commentfile = "/tmp/src%dtmp" % os.getpid()
                do_or_die(editor + " " + commentfile, loud=True)
                comment = open(commentfile).read()
+           if metadata.delimiter in comment:
+               croak("malformed comment")
            if not comment.endswith("\n"):
                comment += "\n"
-           comment = "." + comment.replace("\n", "\n.")[:-1]
            comment = comment.replace("'", r"\'")
            with lifted(arg):
                do_or_die("ci -l -m'{1}' {0}".format(arg, comment))
            if not quiet and len(args) > 1:
-               announce("%s -> %d" % (arg, len(RCSLog(arg)))) 
+               announce("%s -> %d" % (arg, len(metadata))) 
 
 def list_method(*args):
     "Generate a summary listing of commits, one line per commit."