chiark / gitweb /
checkupdates: exit with error if fdroiddata git repo is dirty
[fdroidserver.git] / fdroidserver / checkupdates.py
index 0a4f6e27af114bf1d2ad46e3945bc9cfcebd18dd..54b614ecc850c798c1c272aeffcf19a7dc8a5577 100644 (file)
@@ -572,6 +572,8 @@ def main():
                         help=_("Only process apps with auto-updates"))
     parser.add_argument("--commit", action="store_true", default=False,
                         help=_("Commit changes"))
+    parser.add_argument("--allow-dirty", action="store_true", default=False,
+                        help=_("Run on git repo that has uncommitted changes"))
     parser.add_argument("--gplay", action="store_true", default=False,
                         help=_("Only print differences with the Play Store"))
     metadata.add_metadata_arguments(parser)
@@ -580,6 +582,12 @@ def main():
 
     config = common.read_config(options)
 
+    if not options.allow_dirty:
+        status = subprocess.check_output(['git', 'status', '--porcelain'])
+        if status:
+            logging.error(_('Build metadata git repo has uncommited changes!'))
+            sys.exit(1)
+
     # Get all apps...
     allapps = metadata.read_metadata()