# HG changeset patch # User Jeff Hammel # Date 1306299039 25200 # Node ID c4aaaa6d9c139d2895367a4740754db3bba74c65 # Parent 939ee1ab226a13a4e526d62a7c84ed542d16f5f4 add a program for diffing over ssh diff -r 939ee1ab226a -r c4aaaa6d9c13 python/sshdiff.py --- /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() +