Прежде всего, я знаю, что есть пакет для git. Я делаю программу для практики Rust, и у меня складывается стек. Идея (с этого момента) состоит в том, чтобы посмотреть на текущую ветку и произвести проверку (переключение). Как я уже сказал, не возражайте против того, чтобы оформить заказ на актуальную ветку и потренироваться с Rust.
Это фрагмент кода:
fn get_current_branch() {
let current_branch = Command::new("git")
.arg("rev-parse")
.arg("--abbrev-ref")
.arg("HEAD")
.output()
.expect("Can't retrieve the current branch");
let current: String = String::from_utf8(current_branch.stdout).unwrap().to_string();
Command::new("git")
.arg("checkout")
.arg(current.pop())
.spawn()
.expect("Can't change branch");
}
Проблема в том, что строка при выполнении pop()
показывает ошибку:
«граница черты std::option::Option<char>: std::convert::AsRef<std::ffi::OsStr>
не удовлетворена»
Я посмотрел на другой возможный ответ, но ничего не работает.
Спасибо за помощь, ?♂️.