changeset 499:84a865a880a8

a new way to view diffs based on sorted lines
author Jeff Hammel <jhammel@mozilla.com>
date Fri, 23 Aug 2013 08:25:41 -0700
parents 95ba5770d2f0
children 5af627460928
files python/sortdiff.py
diffstat 1 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python/sortdiff.py	Fri Aug 23 08:25:41 2013 -0700
@@ -0,0 +1,32 @@
+#!/usr/bin/env python
+
+import optparse
+import os
+import sys
+
+def main(args=sys.argv[1:]):
+
+    usage = '%prog [options]'
+    parser = optparse.OptionParser(usage=usage, description=__doc__)
+    options, args = parser.parse_args(args)
+
+    lines = sys.stdin.readlines()
+    diff = {'+': set(),
+            '-': set()}
+    for line in lines:
+        for key, value in diff.items():
+            if line.startswith(key):
+                value.add(line[1:].strip())
+
+    added = diff['+'].difference(diff['-'])
+    minus = diff['-'].difference(diff['+'])
+
+    print '+++'
+    for line in sorted(added):
+        print line
+    print '---'
+    for line in sorted(minus):
+        print line
+
+if __name__ == '__main__':
+    main()