--- /dev/null
+--- a/src/bootstrap/lib.rs
++++ b/src/bootstrap/lib.rs
+@@ -883,41 +883,13 @@
+ return s
+ }
+
+- let beta = output(
+- Command::new("git")
+- .arg("ls-remote")
+- .arg("origin")
+- .arg("beta")
+- .current_dir(&self.src)
+- );
+- let beta = beta.trim().split_whitespace().next().unwrap();
+- let master = output(
+- Command::new("git")
+- .arg("ls-remote")
+- .arg("origin")
+- .arg("master")
+- .current_dir(&self.src)
+- );
+- let master = master.trim().split_whitespace().next().unwrap();
+-
+- // Figure out where the current beta branch started.
+- let base = output(
+- Command::new("git")
+- .arg("merge-base")
+- .arg(beta)
+- .arg(master)
+- .current_dir(&self.src),
+- );
+- let base = base.trim();
+-
+- // Next figure out how many merge commits happened since we branched off
+- // beta. That's our beta number!
++ // Debian: read beta number from "version" file, this is only available
++ // in the rustc upstream tarballs and not their git
+ let count = output(
+- Command::new("git")
+- .arg("rev-list")
+- .arg("--count")
+- .arg("--merges")
+- .arg(format!("{}...HEAD", base))
++ Command::new("sed")
++ .arg("-re")
++ .arg(r"s/[0-9]+.[0-9]+.[0-9]+-beta.([0-9]+) \(.*\)/\1/g")
++ .arg("version")
+ .current_dir(&self.src),
+ );
+ let n = count.trim().parse().unwrap();