Index: tools/gformat.py
===================================================================
--- tools/gformat.py	(revision 10884)
+++ tools/gformat.py	(revision 10885)
@@ -1339,4 +1339,30 @@
   else:
     return "NO"
+
+def rlinput(prompt, prefill=''):
+   import readline
+   readline.set_startup_hook(lambda: readline.insert_text(prefill))
+   try:
+      return raw_input(prompt)
+   finally:
+      readline.set_startup_hook()
+
+def fix_conflict(left, right, default='i'):
+  while True:
+    print "## %-30s | %-30s" % (left, right)
+    c = raw_input("## Solve Conflict (h for help) <l|r|e|i|> [%s]: " % default)
+    if not c:
+      c = default
+
+    if c in ['l','1']:
+      return left
+    elif c in ['r','2']:
+      return right
+    elif c in ['e', '3']:
+      return rlinput("Edit: ", "%30s | %30s" % (left, right))
+    elif c in ['i', '4']:
+      return None
+    else:
+      print "#ERROR: '%s' is invalid input (left, right, edit or ignore)!" % c
 
 def main():
@@ -1513,6 +1539,13 @@
             
 
-            if datadump[iface_key].has_key('desc') and datadump[iface_key]['comment'].lower() == datadump[iface_key]['desc'].lower():
-              del datadump[iface_key]['desc']
+            if datadump[iface_key].has_key('desc'):
+              if datadump[iface_key]['comment'].lower() == datadump[iface_key]['desc'].lower():
+                del datadump[iface_key]['desc']
+              else:
+                print "# ERROR: At %s - %s" % (datadump['nodename'], iface_key)
+                response = fix_conflict(datadump[iface_key]['comment'], datadump[iface_key]['desc'])
+                if response:
+                  datadump[iface_key]['comment'] = response
+                  del datadump[iface_key]['desc']
 
             # Set the compass value based on the angle between the poels
