Mercurial > public > mercurial-scm > hg
comparison rust/hg-core/src/revset.rs @ 46821:e8ae91b1a63d
rhg: raise wdir specific error for `hg debugdata`
Helps remove the conditional in `test-debugcommands.t` for rhg.
Differential Revision: https://phab.mercurial-scm.org/D10254
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Tue, 23 Mar 2021 19:58:49 +0530 |
parents | df247f58ecee |
children | 21d25e9ee58e |
comparison
equal
deleted
inserted
replaced
46820:821929d59e01 | 46821:e8ae91b1a63d |
---|---|
5 use crate::errors::HgError; | 5 use crate::errors::HgError; |
6 use crate::repo::Repo; | 6 use crate::repo::Repo; |
7 use crate::revlog::changelog::Changelog; | 7 use crate::revlog::changelog::Changelog; |
8 use crate::revlog::revlog::{Revlog, RevlogError}; | 8 use crate::revlog::revlog::{Revlog, RevlogError}; |
9 use crate::revlog::NodePrefix; | 9 use crate::revlog::NodePrefix; |
10 use crate::revlog::{Revision, NULL_REVISION}; | 10 use crate::revlog::{Revision, NULL_REVISION, WORKING_DIRECTORY_HEX}; |
11 use crate::Node; | |
11 | 12 |
12 /// Resolve a query string into a single revision. | 13 /// Resolve a query string into a single revision. |
13 /// | 14 /// |
14 /// Only some of the revset language is implemented yet. | 15 /// Only some of the revset language is implemented yet. |
15 pub fn resolve_single( | 16 pub fn resolve_single( |
49 if integer >= 0 && revlog.has_rev(integer) { | 50 if integer >= 0 && revlog.has_rev(integer) { |
50 return Ok(integer); | 51 return Ok(integer); |
51 } | 52 } |
52 } | 53 } |
53 if let Ok(prefix) = NodePrefix::from_hex(input) { | 54 if let Ok(prefix) = NodePrefix::from_hex(input) { |
55 if prefix.is_prefix_of(&Node::from_hex(WORKING_DIRECTORY_HEX).unwrap()) | |
56 { | |
57 return Err(RevlogError::WDirUnsupported); | |
58 } | |
54 return revlog.get_node_rev(prefix); | 59 return revlog.get_node_rev(prefix); |
55 } | 60 } |
56 Err(RevlogError::InvalidRevision) | 61 Err(RevlogError::InvalidRevision) |
57 } | 62 } |