changeset 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 939ee1ab226a
children 09c10061838c
files python/sshdiff.py
diffstat 1 files changed, 35 insertions(+), 0 deletions(-) [+]
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()
+