Index: /tools/gformat.py
===================================================================
--- /tools/gformat.py	(revision 10897)
+++ /tools/gformat.py	(revision 10904)
@@ -77,5 +77,4 @@
 __version__ = '$Id$'
 
-
 files = [
     'authorized_keys',
@@ -114,5 +113,7 @@
     return DHCP_SERVER
 
-def get_yaml(item):
+
+
+def get_yaml(item,add_version_info=True):
   try:
     """ Get configuration yaml for 'item'"""
@@ -122,5 +123,9 @@
     gfile = os.path.join(NODE_DIR,item,'wleiden.yaml')
 
-    datadump = {}
+    # Default values
+    datadump = { 
+      'autogen_revision' : 'NOTFOUND',
+      'autogen_gfile' : gfile,
+    }
     f = open(gfile, 'r')
     datadump.update(yaml.load(f,Loader=Loader))
@@ -140,4 +145,12 @@
           datadump[key] = value
     f.close()
+
+    # Sometimes getting version information is useless or harmfull, like in the pre-commit hooks
+    if add_version_info:
+      p = subprocess.Popen(['svn', 'info', datadump['autogen_gfile']], stderr=subprocess.STDOUT, stdout=subprocess.PIPE)
+      for line in p.communicate()[0].split('\n'):
+        if line:
+          (key, value) = line.split(': ')
+          datadump["autogen_" + key.lower().replace(' ','_')] = value
 
     # Preformat certain needed variables for formatting and push those into special object
@@ -371,11 +384,11 @@
 
 
-def generate_header(ctag="#"):
+def generate_header(datadump, ctag="#"):
   return """\
 %(ctag)s
 %(ctag)s DO NOT EDIT - Automatically generated by 'gformat'
-%(ctag)s Generated at %(date)s by %(host)s
+%(ctag)s Generated at %(date)s by %(host)s from r%(revision)s
 %(ctag)s
-""" % { 'ctag' : ctag, 'date' : time.ctime(), 'host' : socket.gethostname() }
+""" % { 'ctag' : ctag, 'date' : time.ctime(), 'host' : socket.gethostname(), 'revision' : datadump['autogen_revision'] }
 
 
@@ -417,5 +430,5 @@
 def generate_dhcpd_conf(datadump):
   """ Generate config file '/usr/local/etc/dhcpd.conf """
-  output = generate_header()
+  output = generate_header(datadump)
   output += Template("""\
 # option definitions common to all supported networks...
@@ -477,5 +490,5 @@
 def generate_dnsmasq_conf(datadump):
   """ Generate configuration file '/usr/local/etc/dnsmasq.conf' """
-  output = generate_header()
+  output = generate_header(datadump)
   output += Template("""\
 # DHCP server options
@@ -551,5 +564,5 @@
   datadump['autogen_normal_proxies_names'] = ','.join([x['autogen_item'] for x in normal_proxies])
 
-  output = generate_header("#");
+  output = generate_header(datadump, "#");
   output += render_template(datadump, """\
 hostname='{{ autogen_fqdn }}'
@@ -801,5 +814,5 @@
   """ Generate configuration file '/etc/resolv.conf' """
   # XXX: This should properly going to be an datastructure soon
-  datadump['autogen_header'] = generate_header("#")
+  datadump['autogen_header'] = generate_header(datadump, "#")
   datadump['autogen_edge_nameservers'] = ''
   for host in get_proxylist():
@@ -833,5 +846,5 @@
   # XXX: This should properly going to be an datastructure soon
 
-  datadump['autogen_header'] = generate_header("#")
+  datadump['autogen_header'] = generate_header(datadump, "#")
   datadump['autogen_ntp_servers'] = ''
   for host in get_proxylist():
@@ -877,5 +890,5 @@
 def generate_pf_hybrid_conf_local(datadump):
   """ Generate configuration file '/etc/pf.hybrid.conf.local' """
-  datadump['autogen_header'] = generate_header("#")
+  datadump['autogen_header'] = generate_header(datadump, "#")
   return Template("""\
 {{ autogen_header }}
@@ -999,4 +1012,6 @@
 def generate_wleiden_yaml(datadump, header=True):
   """ Generate (petty) version of wleiden.yaml"""
+  output = generate_header(datadump, "#") if header else ''
+
   for key in datadump.keys():
     if key.startswith('autogen_'):
@@ -1008,5 +1023,4 @@
           del datadump[key][key2]
       
-  output = generate_header("#") if header else ''
   output += format_wleiden_yaml(datadump)
   return output
Index: /tools/syntax-checker.py
===================================================================
--- /tools/syntax-checker.py	(revision 10897)
+++ /tools/syntax-checker.py	(revision 10904)
@@ -16,18 +16,21 @@
     for host in gformat.get_hostlist():
       print "## Processing host %-20s: " % host,
-      datadump = gformat.get_yaml(host)
-      iface_keys = [elem for elem in datadump.keys() if (elem.startswith('iface_') and not "lo0" in elem)]
-      for iface_key in iface_keys:
-        l = datadump[iface_key]['ip']
-        addr, mask = l.split('/')
+      datadump = gformat.get_yaml(host,add_version_info=False)
+      try:
+        iface_keys = [elem for elem in datadump.keys() if (elem.startswith('iface_') and not "lo0" in elem)]
+        for iface_key in iface_keys:
+          l = datadump[iface_key]['ip']
+          addr, mask = l.split('/')
 
-        label = "%s - %s" % (host, iface_key)
-        if pool.has_key(addr): 
-          pool[addr] += [label]
-        else: 
-          pool[addr] = [label]
-      print "OK"
-  except (KeyError, ValueError), e:
-    print "[ERROR] in '%s' interface '%s' (%s)" % (host,iface_key, e) 
+          label = "%s - %s" % (host, iface_key)
+          if pool.has_key(addr): 
+            pool[addr] += [label]
+          else: 
+            pool[addr] = [label]
+        print "OK"
+      except (KeyError, ValueError), e:
+        print "[ERROR] in '%s' interface '%s' (%s)" % (host,iface_key, e) 
+        raise
+  except Exception as e:
     raise
     sys.exit(1)
