add usage() function, -h(elp) flag and long versions of short flags
diff --git a/Tools/scripts/reindent.py b/Tools/scripts/reindent.py
index 13150f9..5ac98c7 100644
--- a/Tools/scripts/reindent.py
+++ b/Tools/scripts/reindent.py
@@ -4,9 +4,10 @@
 
 """reindent [-d][-r][-v] [ path ... ]
 
--d  Dry run.  Analyze, but don't make any changes to, files.
--r  Recurse.  Search for all .py files in subdirectories too.
--v  Verbose.  Print informative msgs; else no output.
+-d (--dryrun)  Dry run.  Analyze, but don't make any changes to, files.
+-r (--recurse) Recurse.  Search for all .py files in subdirectories too.
+-v (--verbose) Verbose.  Print informative msgs; else no output.
+-h (--help)    Help.     Print this usage information and exit.
 
 Change Python (.py) files to use 4-space indents and no hard tab characters.
 Also trim excess spaces and tabs from ends of lines, and remove empty lines
@@ -42,6 +43,11 @@
 recurse = 0
 dryrun  = 0
 
+def usage(msg=None):
+    if msg is not None:
+        print >> sys.stderr, msg
+    print >> sys.stderr, __doc__
+
 def errprint(*args):
     sep = ""
     for arg in args:
@@ -53,17 +59,21 @@
     import getopt
     global verbose, recurse, dryrun
     try:
-        opts, args = getopt.getopt(sys.argv[1:], "drv")
+        opts, args = getopt.getopt(sys.argv[1:], "drvh",
+                                   ["dryrun", "recurse", "verbose", "help"])
     except getopt.error, msg:
-        errprint(msg)
+        usage(msg)
         return
     for o, a in opts:
-        if o == '-d':
+        if o in ('-d', '--dryrun'):
             dryrun += 1
-        elif o == '-r':
+        elif o in ('-r', '--recurse'):
             recurse += 1
-        elif o == '-v':
+        elif o in ('-v', '--verbose'):
             verbose += 1
+        elif o in ('-h', '--help'):
+            usage()
+            return
     if not args:
         r = Reindenter(sys.stdin)
         r.run()