rust/hg-core/src/repo.rs
changeset 49091 9b5334c1e499
parent 49090 a5ef50becea8
child 49136 3f5e207f78be
equal deleted inserted replaced
49090:a5ef50becea8 49091:9b5334c1e499
   244 
   244 
   245     pub fn has_narrow(&self) -> bool {
   245     pub fn has_narrow(&self) -> bool {
   246         self.requirements.contains(requirements::NARROW_REQUIREMENT)
   246         self.requirements.contains(requirements::NARROW_REQUIREMENT)
   247     }
   247     }
   248 
   248 
       
   249     pub fn has_nodemap(&self) -> bool {
       
   250         self.requirements
       
   251             .contains(requirements::NODEMAP_REQUIREMENT)
       
   252     }
       
   253 
   249     fn dirstate_file_contents(&self) -> Result<Vec<u8>, HgError> {
   254     fn dirstate_file_contents(&self) -> Result<Vec<u8>, HgError> {
   250         Ok(self
   255         Ok(self
   251             .hg_vfs()
   256             .hg_vfs()
   252             .read("dirstate")
   257             .read("dirstate")
   253             .io_not_found_as_none()?
   258             .io_not_found_as_none()?
   343     ) -> Result<RefMut<OwningDirstateMap>, DirstateError> {
   348     ) -> Result<RefMut<OwningDirstateMap>, DirstateError> {
   344         self.dirstate_map.get_mut_or_init(self)
   349         self.dirstate_map.get_mut_or_init(self)
   345     }
   350     }
   346 
   351 
   347     fn new_changelog(&self) -> Result<Changelog, HgError> {
   352     fn new_changelog(&self) -> Result<Changelog, HgError> {
   348         let use_nodemap = self
   353         Changelog::open(&self.store_vfs(), self.has_nodemap())
   349             .requirements
       
   350             .contains(requirements::NODEMAP_REQUIREMENT);
       
   351         Changelog::open(&self.store_vfs(), use_nodemap)
       
   352     }
   354     }
   353 
   355 
   354     pub fn changelog(&self) -> Result<Ref<Changelog>, HgError> {
   356     pub fn changelog(&self) -> Result<Ref<Changelog>, HgError> {
   355         self.changelog.get_or_init(self)
   357         self.changelog.get_or_init(self)
   356     }
   358     }
   358     pub fn changelog_mut(&self) -> Result<RefMut<Changelog>, HgError> {
   360     pub fn changelog_mut(&self) -> Result<RefMut<Changelog>, HgError> {
   359         self.changelog.get_mut_or_init(self)
   361         self.changelog.get_mut_or_init(self)
   360     }
   362     }
   361 
   363 
   362     fn new_manifestlog(&self) -> Result<Manifestlog, HgError> {
   364     fn new_manifestlog(&self) -> Result<Manifestlog, HgError> {
   363         let use_nodemap = self
   365         Manifestlog::open(&self.store_vfs(), self.has_nodemap())
   364             .requirements
       
   365             .contains(requirements::NODEMAP_REQUIREMENT);
       
   366         Manifestlog::open(&self.store_vfs(), use_nodemap)
       
   367     }
   366     }
   368 
   367 
   369     pub fn manifestlog(&self) -> Result<Ref<Manifestlog>, HgError> {
   368     pub fn manifestlog(&self) -> Result<Ref<Manifestlog>, HgError> {
   370         self.manifestlog.get_or_init(self)
   369         self.manifestlog.get_or_init(self)
   371     }
   370     }