pub fn add<P: AsRef<Path>>(&mut self, src: P, dst: &str) -> Result<()> {
        let src = src.as_ref();
        let src = Self::strip_src(src);
        let entry = self.entries.entry(src);
        if let btree_map::Entry::Occupied(_) = entry {
            Err(anyhow!("Entry already exists"))
        } else {
            entry.or_insert_with(|| dst.to_string());
            Ok(())
        }
    }
/// `dst` is relative path from workspace
`dst` is relative path from workspace
` dst ` is relative path from workspace
pub fn add<P: AsRef<Path>>(&mut self, src: P, dst: &str) -> Result<()> {
        let src = src.as_ref();
        let src = Self::strip_src(src);
        let entry = self.entries.entry(src);
        if let btree_map::Entry::Occupied(_) = entry {
            Err(anyhow!("Entry already exists"))
        } else {
            entry.or_insert_with(|| dst.to_string());
            Ok(())
        }
    }
pub fn add < P : AsRef < Path > > ( & mut self , src : P , dst : & str ) -> Result < ( ) > { let src = src . as_ref ( ) ; let src = Self :: strip_src ( src ) ; let entry = self . entries . entry ( src ) ; if let btree_map :: Entry :: Occupied ( _ ) = entry { Err ( anyhow ! ( " " ) ) } else { entry . or_insert_with ( | | dst . to_string ( ) ) ; Ok ( ( ) ) } }
`dst` is relative path from workspace
` dst ` is relative path from workspace
&mut self
src
P
dst
&str
&mut self
src
P
dst
&str