githook: slightly more robust against weird input
[git-mirror.git] / githook.py
index 3d546be5843776042141674149de7b9fef04592f..5dd849769ee30415fcf64017888a4b79251fc3cf 100755 (executable)
@@ -41,11 +41,14 @@ if __name__ == "__main__":
         repo = repos[reponame]
         # parse the information we get from stdin. we trust this information.
         for line in sys.stdin:
-            (oldsha, newsha, ref) = line.split()
+            line = line.split()
+            if len(line) == 0: continue
+            assert len(line) == 3
+            (oldsha, newsha, ref) = line
             repo.update_mirrors(ref, oldsha, newsha)
     except Exception as e:
         if repo is not None:
-            repo.mail_owner("There was a problem running the git-mirror git hook:\n\n{0}".format(traceback.format_exc()))
+            repo.mail_owner("There was a problem running the git-mirror git hook:\n\n{}".format(traceback.format_exc()))
         # do not print all the details
-        sys.stderr.write("We have a problem:\n{0}".format('\n'.join(traceback.format_exception_only(type(e), e))))
+        sys.stderr.write("We have a problem:\n{}".format('\n'.join(traceback.format_exception_only(type(e), e))))