rust/hg-core/src/operations/list_tracked_files.rs
changeset 45603 be951ca95b08
parent 45536 639f33f22faf
child 46032 8d6164098782
equal deleted inserted replaced
45602:1cef583541c0 45603:be951ca95b08
   164         &mut self,
   164         &mut self,
   165     ) -> Result<impl Iterator<Item = &HgPath>, ListRevTrackedFilesError> {
   165     ) -> Result<impl Iterator<Item = &HgPath>, ListRevTrackedFilesError> {
   166         let changelog_entry = match self.rev.parse::<Revision>() {
   166         let changelog_entry = match self.rev.parse::<Revision>() {
   167             Ok(rev) => self.changelog.get_rev(rev)?,
   167             Ok(rev) => self.changelog.get_rev(rev)?,
   168             _ => {
   168             _ => {
   169                 let changelog_node = hex::decode(&self.rev).map_err(|_| {
   169                 let changelog_node = hex::decode(&self.rev)
   170                     ListRevTrackedFilesErrorKind::InvalidRevision
   170                     .or(Err(ListRevTrackedFilesErrorKind::InvalidRevision))?;
   171                 })?;
       
   172                 self.changelog.get_node(&changelog_node)?
   171                 self.changelog.get_node(&changelog_node)?
   173             }
   172             }
   174         };
   173         };
   175         let manifest_node = hex::decode(&changelog_entry.manifest_node()?)
   174         let manifest_node = hex::decode(&changelog_entry.manifest_node()?)
   176             .map_err(|_| ListRevTrackedFilesErrorKind::CorruptedRevlog)?;
   175             .or(Err(ListRevTrackedFilesErrorKind::CorruptedRevlog))?;
   177 
   176 
   178         self.manifest_entry = Some(self.manifest.get_node(&manifest_node)?);
   177         self.manifest_entry = Some(self.manifest.get_node(&manifest_node)?);
   179 
   178 
   180         if let Some(ref manifest_entry) = self.manifest_entry {
   179         if let Some(ref manifest_entry) = self.manifest_entry {
   181             Ok(manifest_entry.files())
   180             Ok(manifest_entry.files())