--- a/src/Pure/Admin/build_history.scala Sat Oct 22 19:14:38 2016 +0200
+++ b/src/Pure/Admin/build_history.scala Sat Oct 22 19:57:56 2016 +0200
@@ -373,6 +373,7 @@
isabelle_repos_other: Path,
isabelle_repos_source: String = "http://isabelle.in.tum.de/repos/isabelle",
self_update: Boolean = false,
+ push_isabelle_home: Boolean = false,
progress: Progress = Ignore_Progress,
progress_result: (String, Bytes) => Unit = (log_name: String, bytes: Bytes) => (),
options: String = "",
@@ -387,13 +388,24 @@
Mercurial.setup_repository(isabelle_repos_source, isabelle_repos_self, ssh = Some(ssh))
if (self_update) {
- isabelle_hg.pull()
- isabelle_hg.update(clean = true)
+ if (push_isabelle_home) {
+ val isabelle_home_hg = Mercurial.repository(Path.explode("~~"))
+ val rev = isabelle_home_hg.id()
+ isabelle_home_hg.push(isabelle_hg.root_url, rev = rev, force = true)
+ isabelle_hg.update(rev = rev, clean = true)
+ }
+ else {
+ isabelle_hg.pull()
+ isabelle_hg.update(clean = true)
+ }
ssh.execute(ssh.bash_path(isabelle_admin + Path.explode("build")) + " jars_fresh").check
}
- Mercurial.setup_repository(
- ssh.bash_path(isabelle_repos_self), isabelle_repos_other, ssh = Some(ssh))
+ val other_hg =
+ Mercurial.setup_repository(
+ ssh.bash_path(isabelle_repos_self), isabelle_repos_other, ssh = Some(ssh))
+ other_hg.pull(isabelle_hg.root.implode)
+ other_hg.update(rev = isabelle_hg.id(), clean = true)
/* Admin/build_history */