From 2b5a34a703c182ff48d6c83ff3fa4256b4f37624 Mon Sep 17 00:00:00 2001 From: Fintan Halpenny Date: Wed, 16 Nov 2022 10:29:44 +0000 Subject: [PATCH] git-ref-format: add well-known refspec components Add constants for well-known refspec component names. Signed-off-by: Fintan Halpenny X-Clacks-Overhead: GNU Terry Pratchett --- git-ref-format/core/src/refspec.rs | 2 +- git-ref-format/core/src/refspec/iter.rs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/git-ref-format/core/src/refspec.rs b/git-ref-format/core/src/refspec.rs index ea17d35..5bd19dd 100644 --- a/git-ref-format/core/src/refspec.rs +++ b/git-ref-format/core/src/refspec.rs @@ -16,7 +16,7 @@ use thiserror::Error; use crate::{check, lit, RefStr, RefString}; mod iter; -pub use iter::{Component, Components, Iter}; +pub use iter::{component, Component, Components, Iter}; pub const STAR: &PatternStr = PatternStr::from_str("*"); diff --git a/git-ref-format/core/src/refspec/iter.rs b/git-ref-format/core/src/refspec/iter.rs index a5daf1c..09da0b7 100644 --- a/git-ref-format/core/src/refspec/iter.rs +++ b/git-ref-format/core/src/refspec/iter.rs @@ -85,3 +85,19 @@ impl<'a> From<&'a PatternStr> for Components<'a> { } } } + +pub mod component { + use super::Component; + use crate::name; + + pub const STAR: Component = Component::Glob(None); + pub const HEADS: Component = Component::Normal(name::HEADS); + pub const MAIN: Component = Component::Normal(name::MAIN); + pub const MASTER: Component = Component::Normal(name::MASTER); + pub const NAMESPACES: Component = Component::Normal(name::NAMESPACES); + pub const NOTES: Component = Component::Normal(name::NOTES); + pub const ORIGIN: Component = Component::Normal(name::ORIGIN); + pub const REFS: Component = Component::Normal(name::REFS); + pub const REMOTES: Component = Component::Normal(name::REMOTES); + pub const TAGS: Component = Component::Normal(name::TAGS); +}