]> thyrsus.com Git - src.git/commitdiff
Tag setting is working.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 7 Nov 2014 04:38:43 +0000 (23:38 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 7 Nov 2014 04:38:43 +0000 (23:38 -0500)
src

diff --git a/src b/src
index 56cd68ef19faa1364ddda34976426350e14a504c..0ec5bfea5dd8766bf500279d775a23754f130bd2 100755 (executable)
--- a/src
+++ b/src
@@ -2,8 +2,6 @@
 #
 # src - simple revision control.
 #
-# TO DO: Bounds-check revno arguments
-#
 import sys, os, subprocess, time
 
 version = 0.1
@@ -146,6 +144,9 @@ class RCSLog:
                     if line.startswith("revision"):
                         fields = line.split()
                         self.revlist[-1].revision = fields[1]
+                    elif line.startswith("----------------------------"):
+                        self.revlist.append(RCSRevisionItem(self, maxrevno))
+                        maxrevno += 1
                     elif line.startswith("date"):
                         fields = line.split()
                         date = fields[1] + " " + fields[2]
@@ -182,7 +183,7 @@ class RCSLog:
         for item in self.revlist:
             if item.revno == revno:
                 return item.revision
-        return None
+        croak("{0} has no revno {1}".format(self.name, revno))
 
 def help_method(*args):
     "Summarize src commands, or (with argument) show help for a single command."
@@ -419,6 +420,7 @@ def set_tags(args):
         croak("setting tags requires a tagname argument")
     tagname = args.pop(0)
     (revspec, args) = preamble("tag", args)
+    print "Foo!", revspec
     for arg in args:
         state = RCSLog(arg)
         if revspec is None:
@@ -441,7 +443,7 @@ def tag_method(*args):
     else:
         deleteflag = args[0] in ("-d", "del", "delete")
         if deleteflag:
-            set_tags(args[1:])
+            delete_tags(args[1:])
             return
     set_tags(args)