I referenced a tag in Cargo.toml, ran cargo build and it grabbed the correct version and completed successfully. Made some changes, ran cargo build again and received
task '<main>' panicked at 'assertion failed: checkout.is_fresh()', src/cargo/sources/git/utils.rs:206
I think the problem is calling git rev-parse HEAD on a detached head returns HEAD instead of the name of the revision and is causing the match in is_fresh() to return false