summaryrefslogtreecommitdiffstats
path: root/Tools/scripts/xxci.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-08-02 22:53:22 (GMT)
committerGeorg Brandl <georg@python.org>2010-08-02 22:53:22 (GMT)
commitd3f467ac7441a100eb26412424c2dd96ec3ceb67 (patch)
tree4aa8ff69b527682837f5876bbb5166396db36bec /Tools/scripts/xxci.py
parentf7db42fe8cfc412c8d247a40f48eac43687ec9c7 (diff)
downloadcpython-d3f467ac7441a100eb26412424c2dd96ec3ceb67.zip
cpython-d3f467ac7441a100eb26412424c2dd96ec3ceb67.tar.gz
cpython-d3f467ac7441a100eb26412424c2dd96ec3ceb67.tar.bz2
Update README, remove obsolete scripts.
Diffstat (limited to 'Tools/scripts/xxci.py')
-rwxr-xr-xTools/scripts/xxci.py121
1 files changed, 0 insertions, 121 deletions
diff --git a/Tools/scripts/xxci.py b/Tools/scripts/xxci.py
deleted file mode 100755
index 228f0c0..0000000
--- a/Tools/scripts/xxci.py
+++ /dev/null
@@ -1,121 +0,0 @@
-#! /usr/bin/env python3
-
-# xxci
-#
-# check in files for which rcsdiff returns nonzero exit status
-
-import sys
-import os
-from stat import *
-import fnmatch
-
-EXECMAGIC = '\001\140\000\010'
-
-MAXSIZE = 200*1024 # Files this big must be binaries and are skipped.
-
-def getargs():
- args = sys.argv[1:]
- if args:
- return args
- print('No arguments, checking almost *, in "ls -t" order')
- list = []
- for file in os.listdir(os.curdir):
- if not skipfile(file):
- list.append((getmtime(file), file))
- list.sort()
- if not list:
- print('Nothing to do -- exit 1')
- sys.exit(1)
- list.sort()
- list.reverse()
- for mtime, file in list: args.append(file)
- return args
-
-def getmtime(file):
- try:
- st = os.stat(file)
- return st[ST_MTIME]
- except os.error:
- return -1
-
-badnames = ['tags', 'TAGS', 'xyzzy', 'nohup.out', 'core']
-badprefixes = ['.', ',', '@', '#', 'o.']
-badsuffixes = \
- ['~', '.a', '.o', '.old', '.bak', '.orig', '.new', '.prev', '.not', \
- '.pyc', '.fdc', '.rgb', '.elc', ',v']
-ignore = []
-
-def setup():
- ignore[:] = badnames
- for p in badprefixes:
- ignore.append(p + '*')
- for p in badsuffixes:
- ignore.append('*' + p)
- try:
- f = open('.xxcign', 'r')
- except IOError:
- return
- ignore[:] = ignore + f.read().split()
-
-def skipfile(file):
- for p in ignore:
- if fnmatch.fnmatch(file, p): return 1
- try:
- st = os.lstat(file)
- except os.error:
- return 1 # Doesn't exist -- skip it
- # Skip non-plain files.
- if not S_ISREG(st[ST_MODE]): return 1
- # Skip huge files -- probably binaries.
- if st[ST_SIZE] >= MAXSIZE: return 1
- # Skip executables
- try:
- data = open(file, 'r').read(len(EXECMAGIC))
- if data == EXECMAGIC: return 1
- except:
- pass
- return 0
-
-def badprefix(file):
- for bad in badprefixes:
- if file[:len(bad)] == bad: return 1
- return 0
-
-def badsuffix(file):
- for bad in badsuffixes:
- if file[-len(bad):] == bad: return 1
- return 0
-
-def go(args):
- for file in args:
- print(file + ':')
- if differing(file):
- showdiffs(file)
- if askyesno('Check in ' + file + ' ? '):
- sts = os.system('rcs -l ' + file) # ignored
- sts = os.system('ci -l ' + file)
-
-def differing(file):
- cmd = 'co -p ' + file + ' 2>/dev/null | cmp -s - ' + file
- sts = os.system(cmd)
- return sts != 0
-
-def showdiffs(file):
- cmd = 'rcsdiff ' + file + ' 2>&1 | ${PAGER-more}'
- sts = os.system(cmd)
-
-def raw_input(prompt):
- sys.stdout.write(prompt)
- sys.stdout.flush()
- return sys.stdin.readline()
-
-def askyesno(prompt):
- s = input(prompt)
- return s in ['y', 'yes']
-
-if __name__ == '__main__':
- try:
- setup()
- go(getargs())
- except KeyboardInterrupt:
- print('[Intr]')