message: Allow dependency's rev to refer to a ref by name
diff: @@ -799,15 +799,19 @@ pub fn fetch(
  refspecs.push(String::from("HEAD:refs/remotes/origin/HEAD"));
  }
  - // For `rev` dependencies we don't know what the rev will point to. To
  - // handle this situation we fetch all branches and tags, and then we
  - // pray it's somewhere in there.
  - GitReference::Rev(_) => {
  + GitReference::Rev(rev) => {
  + if rev.starts_with("refs/") {
  + refspecs.push(format!("{0}:{0}", rev));
  + } else {
  + // We don't know what the rev will point to. To handle this
  + // situation we fetch all branches and tags, and then we pray
  + // it's somewhere in there.
  refspecs.push(String::from("refs/heads/*:refs/remotes/origin/*"));
  refspecs.push(String::from("HEAD:refs/remotes/origin/HEAD"));
  tags = true;
  }
  }
  + }
  // Unfortunately `libgit2` is notably lacking in the realm of authentication
  // when compared to the `git` command line. As a result, allow an escape
  