From ca83f018e7d5c74607cfcdbb9e5e808ad240af8d Mon Sep 17 00:00:00 2001
From: Guido van Rossum <guido@python.org>
Date: Mon, 24 Nov 1997 23:49:35 +0000
Subject: Added "-n file" option to only print files newer than the given file.

---
 Tools/scripts/cvsfiles.py | 41 +++++++++++++++++++++++++++++++++++++----
 1 file changed, 37 insertions(+), 4 deletions(-)

diff --git a/Tools/scripts/cvsfiles.py b/Tools/scripts/cvsfiles.py
index 21e72ee..5b691f6 100755
--- a/Tools/scripts/cvsfiles.py
+++ b/Tools/scripts/cvsfiles.py
@@ -1,13 +1,35 @@
 #! /usr/bin/env python
 
-"""Create a list of files that are mentioned in CVS directories."""
+"""Print a list of files that are mentioned in CVS directories.
+
+Usage: cvsfiles.py [-n file] [directory] ...
+
+If the '-n file' option is given, only files under CVS that are newer
+than the given file are printed; by default, all files under CVS are
+printed.  As a special case, if a file does not exist, it is always
+printed.
+"""
 
 import os
 import sys
+import stat
+import getopt
 import string
 
+cutofftime = 0
+
 def main():
-    args = sys.argv[1:]
+    try:
+	opts, args = getopt.getopt(sys.argv[1:], "n:")
+    except getopt.error, msg:
+	print msg
+	print __doc__,
+	return 1
+    global cutofftime
+    newerfile = None
+    for o, a in opts:
+	if o == '-n':
+	    cutofftime = getmtime(a)
     if args:
 	for arg in args:
 	    process(arg)
@@ -32,8 +54,19 @@ def process(dir):
 	    words = string.split(e, '/')
 	    if words[0] == '' and words[1:]:
 		name = words[1]
-		print os.path.join(dir, name)
+		fullname = os.path.join(dir, name)
+		if cutofftime and getmtime(fullname) <= cutofftime:
+		    pass
+		else:
+		    print fullname
     for sub in subdirs:
 	process(sub)
 
-main()
+def getmtime(filename):
+    try:
+	st = os.stat(filename)
+    except os.error:
+	return 0
+    return st[stat.ST_MTIME]
+
+sys.exit(main())
-- 
cgit v0.12

