Mercurial > hg > config
diff python/sshdiff.py @ 141:c4aaaa6d9c13
add a program for diffing over ssh
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Tue, 24 May 2011 21:50:39 -0700 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/python/sshdiff.py Tue May 24 21:50:39 2011 -0700 @@ -0,0 +1,35 @@ +#!/usr/bin/env python + +""" +diff files over ssh +""" + +import os +import subprocess +import sys +import tempfile +from optparse import OptionParser + +def main(args=sys.argv[1:]): + usage = "%prog host file" + parser = OptionParser(usage=usage, description=__doc__) + options, args = parser.parse_args(args) + try: + host, filename = args + except ValueError: + parser.print_usage() + parser.exit(1) + process = subprocess.Popen(["ssh", host, "cat", filename], stdout=subprocess.PIPE) + stdout, stderr = process.communicate() + fd, buffer = tempfile.mkstemp() + os.write(fd, stdout) + os.close(fd) + subprocess.call(['diff', os.path.join(os.environ['HOME'], filename), buffer]) + try: + os.remove(buffer) + except: + pass + +if __name__ == '__main__': + main() +