src/Pure/System/isabelle_system.scala
changeset 75220 1cbdf9cfc94b
parent 75219 6d1b64d76b57
child 75229 075467e070ba
equal deleted inserted replaced
75219:6d1b64d76b57 75220:1cbdf9cfc94b
   435 
   435 
   436     if (gnutar_check) bash("tar " + options + args, redirect = redirect)
   436     if (gnutar_check) bash("tar " + options + args, redirect = redirect)
   437     else error("Expected to find GNU tar executable")
   437     else error("Expected to find GNU tar executable")
   438   }
   438   }
   439 
   439 
       
   440   def make_patch(base_dir: Path, src: Path, dst: Path, target_dir: Path = Path.current): Path =
       
   441   {
       
   442     val target = target_dir + src.base.patch
       
   443     Isabelle_System.bash(
       
   444       "diff -ru " + File.bash_path(src) + " " + File.bash_path(dst) + " > " + File.bash_path(target),
       
   445       cwd = base_dir.file).check_rc(_ <= 1)
       
   446     (base_dir + target).expand
       
   447   }
       
   448 
   440   def hostname(): String = bash("hostname -s").check.out
   449   def hostname(): String = bash("hostname -s").check.out
   441 
   450 
   442   def open(arg: String): Unit =
   451   def open(arg: String): Unit =
   443     bash("exec \"$ISABELLE_OPEN\" " + Bash.string(arg) + " >/dev/null 2>/dev/null &")
   452     bash("exec \"$ISABELLE_OPEN\" " + Bash.string(arg) + " >/dev/null 2>/dev/null &")
   444 
   453