fn git_dir(&self) -> std::path::PathBuf {
        let re = regex::Regex::new(r"[^A-Za-z_]").expect("invalid repo url regex");
        // anything that's not a letter gets replaced with _
        // this can lead to collisions which is not great but OK for this use case?
        std::path::PathBuf::from(re.replace_all(&self.url, "_").into_owned())
    }
/// returns path for where to clone / fetch the repo
returns path for where to clone / fetch the repo
returns path for where to clone / fetch the repo
fn git_dir(&self) -> std::path::PathBuf {
        let re = regex::Regex::new(r"[^A-Za-z_]").expect("invalid repo url regex");
        // anything that's not a letter gets replaced with _
        // this can lead to collisions which is not great but OK for this use case?
        std::path::PathBuf::from(re.replace_all(&self.url, "_").into_owned())
    }
fn git_dir ( & self ) -> std :: path :: PathBuf { let re = regex :: Regex :: new ( r"[^A-Za-z_]" ) . expect ( " " ) ; // anything that's not a letter gets replaced with _ // this can lead to collisions which is not great but OK for this use case? std :: path :: PathBuf :: from ( re . replace_all ( & self . url , " " ) . into_owned ( ) ) }
returns path for where to clone / fetch the repo
returns path for where to clone / fetch the repo
&self
&self