Add variant of Ref::update_ref() to update with custom Hasher instance
This commit is contained in:
parent
a6ca041903
commit
5399b8ca7b
1 changed files with 7 additions and 3 deletions
|
@ -353,6 +353,12 @@ impl<'a> Ref<'a> {
|
|||
/// Update the Ref by re-checking the file from FS
|
||||
/// This errors if the file is not present or cannot be read()
|
||||
pub fn update_ref(&mut self) -> Result<()> {
|
||||
self.update_ref_with_hasher(&DefaultHasher::new())
|
||||
}
|
||||
|
||||
/// Update the Ref by re-checking the file from FS using the passed Hasher instance
|
||||
/// This errors if the file is not present or cannot be read()
|
||||
pub fn update_ref_with_hasher<H: Hasher>(&mut self, h: &H) -> Result<()> {
|
||||
let current_hash = try!(self.get_current_hash()); // uses the default hasher
|
||||
let current_perm = try!(self.get_current_permissions());
|
||||
|
||||
|
@ -363,11 +369,9 @@ impl<'a> Ref<'a> {
|
|||
.map_err(|e| REK::StoreWriteError.into_error_with_cause(e))
|
||||
);
|
||||
|
||||
let hasher_name = DefaultHasher::new().hash_name();
|
||||
|
||||
try!(self.0
|
||||
.get_header_mut()
|
||||
.set(&format!("ref.content_hash.{}", hasher_name)[..], Value::String(current_hash))
|
||||
.set(&format!("ref.content_hash.{}", h.hash_name())[..], Value::String(current_hash))
|
||||
.map_err(Box::new)
|
||||
.map_err(|e| REK::StoreWriteError.into_error_with_cause(e))
|
||||
);
|
||||
|
|
Loading…
Reference in a new issue