src/Pure/Tools/build_history.scala
changeset 64031 eef8a3f8ef4a
parent 64030 04f9e1e9003a
child 64032 46c1ffc78d73
--- a/src/Pure/Tools/build_history.scala	Tue Oct 04 13:56:02 2016 +0200
+++ b/src/Pure/Tools/build_history.scala	Tue Oct 04 14:07:10 2016 +0200
@@ -34,12 +34,25 @@
     verbose: Boolean = false,
     build_args: List[String] = Nil): Process_Result =
   {
+    /* sanity checks */
+
     if (threads < 1) error("Bad threads value < 1: " + threads)
     if (heap < 100) error("Bad heap value < 100: " + heap)
 
+    System.getenv("ISABELLE_SETTINGS_PRESENT") match {
+      case null | "" =>
+      case _ => error("Cannot run build_history within existing Isabelle settings environment")
+    }
+
+
+    /* purge repository */
+
     hg.update(rev = rev, clean = true)
     if (verbose) Output.writeln(hg.log(rev, options = "-l1"))
 
+
+    /* invoke isabelle tools */
+
     def bash(script: String): Process_Result =
       Isabelle_System.bash("env ISABELLE_IDENTIFIER=" + File.bash_string(isabelle_identifier) +
         " " + script, cwd = hg.root.file, env = null)