Mercurial > public > mercurial-scm > hg
comparison rust/hg-core/src/operations/debugdata.rs @ 46033:88e741bf2d93
rust: use NodePrefix::from_hex instead of hex::decode directly
This adds support for prefixes with an odd number of hex digits.
Differential Revision: https://phab.mercurial-scm.org/D9490
author | Simon Sapin <simon-commits@exyr.org> |
---|---|
date | Wed, 02 Dec 2020 15:00:49 +0100 |
parents | 8d6164098782 |
children | dca9cb99971c |
comparison
equal
deleted
inserted
replaced
46032:8d6164098782 | 46033:88e741bf2d93 |
---|---|
5 // This software may be used and distributed according to the terms of the | 5 // This software may be used and distributed according to the terms of the |
6 // GNU General Public License version 2 or any later version. | 6 // GNU General Public License version 2 or any later version. |
7 | 7 |
8 use super::find_root; | 8 use super::find_root; |
9 use crate::revlog::revlog::{Revlog, RevlogError}; | 9 use crate::revlog::revlog::{Revlog, RevlogError}; |
10 use crate::revlog::NodePrefix; | |
10 use crate::revlog::Revision; | 11 use crate::revlog::Revision; |
11 | 12 |
12 /// Kind of data to debug | 13 /// Kind of data to debug |
13 #[derive(Debug, Copy, Clone)] | 14 #[derive(Debug, Copy, Clone)] |
14 pub enum DebugDataKind { | 15 pub enum DebugDataKind { |
105 let revlog = Revlog::open(&index_file, None)?; | 106 let revlog = Revlog::open(&index_file, None)?; |
106 | 107 |
107 let data = match self.rev.parse::<Revision>() { | 108 let data = match self.rev.parse::<Revision>() { |
108 Ok(rev) => revlog.get_rev_data(rev)?, | 109 Ok(rev) => revlog.get_rev_data(rev)?, |
109 _ => { | 110 _ => { |
110 let node = hex::decode(&self.rev) | 111 let node = NodePrefix::from_hex(&self.rev) |
111 .map_err(|_| DebugDataErrorKind::InvalidRevision)?; | 112 .map_err(|_| DebugDataErrorKind::InvalidRevision)?; |
112 let rev = revlog.get_node_rev(&node)?; | 113 let rev = revlog.get_node_rev(node.borrow())?; |
113 revlog.get_rev_data(rev)? | 114 revlog.get_rev_data(rev)? |
114 } | 115 } |
115 }; | 116 }; |
116 | 117 |
117 Ok(data) | 118 Ok(data) |