summaryrefslogtreecommitdiff
path: root/Tools/scripts/xxci.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/scripts/xxci.py')
-rwxr-xr-xTools/scripts/xxci.py146
1 files changed, 73 insertions, 73 deletions
diff --git a/Tools/scripts/xxci.py b/Tools/scripts/xxci.py
index d8608a094c..2567bc508b 100755
--- a/Tools/scripts/xxci.py
+++ b/Tools/scripts/xxci.py
@@ -16,102 +16,102 @@ 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
+ 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
+ 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']
+ ['~', '.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 + string.split(f.read())
+ 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 + string.split(f.read())
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
+ 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
+ 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
+ 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)
+ 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
+ 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)
+ cmd = 'rcsdiff ' + file + ' 2>&1 | ${PAGER-more}'
+ sts = os.system(cmd)
def askyesno(prompt):
- s = raw_input(prompt)
- return s in ['y', 'yes']
+ s = raw_input(prompt)
+ return s in ['y', 'yes']
try:
- setup()
- go(getargs())
+ setup()
+ go(getargs())
except KeyboardInterrupt:
- print '[Intr]'
+ print '[Intr]'