pub fn split_version(name_part: &str) -> (&str, Option<&str>)
Split name_part into (base, Some(hash)) if the last @ is followed by a valid commit hash (7–40 hex chars), otherwise return (name_part, None).
name_part
(base, Some(hash))
@
(name_part, None)