Mercurial > cpython-lru_cache-weakref
view Tools/scripts/diff.py @ 32260:cdad005bc030 legacy-trunk
[Bug #936837] Add missing word
| author | Andrew M. Kuchling <amk@amk.ca> |
|---|---|
| date | Sat, 05 Jun 2004 19:00:55 +0000 |
| parents | cd5ecc5b38eb |
| children | 4fab4a5cce2f |
line wrap: on
line source
""" Command line interface to difflib.py providing diffs in three formats: * ndiff: lists every line and highlights interline changes. * context: highlights clusters of changes in a before/after format * unified: highlights clusters of changes in an inline format. """ import sys, os, time, difflib, optparse usage = "usage: %prog [options] fromfile tofile" parser = optparse.OptionParser(usage) parser.add_option("-c", action="store_true", default=False, help='Produce a context format diff (default)') parser.add_option("-u", action="store_true", default=False, help='Produce a unified format diff') parser.add_option("-n", action="store_true", default=False, help='Produce a ndiff format diff') parser.add_option("-l", "--lines", type="int", default=3, help='Set number of context lines (default 3)') (options, args) = parser.parse_args() if len(args) == 0: parser.print_help() sys.exit(1) if len(args) != 2: parser.error("need to specify both a fromfile and tofile") n = options.lines fromfile, tofile = args fromdate = time.ctime(os.stat(fromfile).st_mtime) todate = time.ctime(os.stat(tofile).st_mtime) fromlines = open(fromfile).readlines() tolines = open(tofile).readlines() if options.u: diff = difflib.unified_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n) elif options.n: diff = difflib.ndiff(fromlines, tolines) else: diff = difflib.context_diff(fromlines, tolines, fromfile, tofile, fromdate, todate, n=n) sys.stdout.writelines(diff)
