src/Pure/System/isabelle_system.scala
changeset 75516 b3fa6c79ed3b
parent 75511 b32fdb67f851
child 75523 0dcaf0e5107b
equal deleted inserted replaced
75515:8c32f0210a1a 75516:b3fa6c79ed3b
   419     if (gnutar_check) bash("tar " + options + args, redirect = redirect)
   419     if (gnutar_check) bash("tar " + options + args, redirect = redirect)
   420     else error("Expected to find GNU tar executable")
   420     else error("Expected to find GNU tar executable")
   421   }
   421   }
   422 
   422 
   423   def rsync(
   423   def rsync(
   424     cwd: JFile = null,
       
   425     progress: Progress = new Progress,
   424     progress: Progress = new Progress,
   426     port: Int = SSH.default_port,
   425     port: Int = SSH.default_port,
   427     verbose: Boolean = false,
   426     verbose: Boolean = false,
   428     thorough: Boolean = false,
   427     thorough: Boolean = false,
   429     prune_empty_dirs: Boolean = false,
   428     prune_empty_dirs: Boolean = false,
   441         (if (dry_run) " --dry-run" else "") +
   440         (if (dry_run) " --dry-run" else "") +
   442         (if (clean) " --delete-excluded" else "") +
   441         (if (clean) " --delete-excluded" else "") +
   443         (if (list) " --list-only --no-human-readable" else "") +
   442         (if (list) " --list-only --no-human-readable" else "") +
   444         filter.map(s => " --filter=" + Bash.string(s)).mkString +
   443         filter.map(s => " --filter=" + Bash.string(s)).mkString +
   445         (if (args.nonEmpty) " " + Bash.strings(args) else "")
   444         (if (args.nonEmpty) " " + Bash.strings(args) else "")
   446     progress.bash(script, cwd = cwd, echo = true)
   445     progress.bash(script, echo = true)
   447   }
   446   }
   448 
   447 
   449   def rsync_dir(target: String): String = {
   448   def rsync_dir(target: String): String = {
   450     if (target.endsWith(":.") || target.endsWith("/.")) target
   449     if (target.endsWith(":.") || target.endsWith("/.")) target
   451     else if (target.endsWith(":") || target.endsWith("/")) target + "."
   450     else if (target.endsWith(":") || target.endsWith("/")) target + "."