From 04a0c60b16dff7fca6936d6b16e4f825eafb03b1 Mon Sep 17 00:00:00 2001 From: Martin von Zweigbergk Date: Sun, 12 Feb 2023 20:45:31 -0800 Subject: [PATCH] revset: remove code for conflict between commit/change id Commit ids and change ids now use non-overlapping symbols for their digits, so they can't share a prefix. --- lib/src/revset.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/src/revset.rs b/lib/src/revset.rs index 74fab9ef0..6c4ea0cf1 100644 --- a/lib/src/revset.rs +++ b/lib/src/revset.rs @@ -179,17 +179,17 @@ pub fn resolve_symbol( return Ok(ids); } - // Try to resolve as a commit/change id. - match ( - resolve_short_commit_id(repo, symbol)?, - resolve_change_id(repo, symbol)?, - ) { - // Likely a root_commit_id, but not limited to it. - (Some(ids1), Some(ids2)) if ids1 == ids2 => Ok(ids1), - (Some(_), Some(_)) => Err(RevsetError::AmbiguousIdPrefix(symbol.to_owned())), - (Some(ids), None) | (None, Some(ids)) => Ok(ids), - (None, None) => Err(RevsetError::NoSuchRevision(symbol.to_owned())), + // Try to resolve as a commit id. + if let Some(ids) = resolve_short_commit_id(repo, symbol)? { + return Ok(ids); } + + // Try to resolve as a change id. + if let Some(ids) = resolve_change_id(repo, symbol)? { + return Ok(ids); + } + + Err(RevsetError::NoSuchRevision(symbol.to_owned())) } }