Merge remote-tracking branch 'origin/merge-git-ref-format'

* origin/merge-git-ref-format:
  move git-ref-format to under radicle-git-ext

Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
This commit is contained in:
Fintan Halpenny
2023-03-01 17:35:29 +00:00
61 changed files with 102 additions and 109 deletions
-1
View File
@@ -1,6 +1,5 @@
[workspace]
members = [
"git-ref-format",
"git-commit",
"git-storage",
"git-trailers",
-3
View File
@@ -17,9 +17,6 @@ version = "0.16.1"
default-features = false
features = ["vendored-libgit2"]
[dependencies.git-ref-format]
path = "../git-ref-format"
[dependencies.libgit2-sys]
version = ">= 0.14.2"
default-features = false
+4 -4
View File
@@ -5,7 +5,7 @@
use std::{fmt, path::Path};
use git_ext::{error::is_not_found_err, Oid};
use git_ext::{error::is_not_found_err, ref_format, Oid};
use std_ext::result::ResultExt as _;
use crate::{
@@ -89,7 +89,7 @@ impl<'a> refdb::Read for &'a Read {
fn find_reference<Ref>(&self, reference: Ref) -> Result<Option<Reference>, Self::FindRef>
where
Ref: AsRef<git_ref_format::RefStr>,
Ref: AsRef<ref_format::RefStr>,
{
let reference = self
.raw
@@ -101,7 +101,7 @@ impl<'a> refdb::Read for &'a Read {
fn find_references<Pat>(&self, reference: Pat) -> Result<Self::References, Self::FindRefs>
where
Pat: AsRef<git_ref_format::refspec::PatternStr>,
Pat: AsRef<ref_format::refspec::PatternStr>,
{
Ok(References {
inner: ReferencesGlob {
@@ -113,7 +113,7 @@ impl<'a> refdb::Read for &'a Read {
fn find_reference_oid<Ref>(&self, reference: Ref) -> Result<Option<Oid>, Self::FindRefOid>
where
Ref: AsRef<git_ref_format::RefStr>,
Ref: AsRef<ref_format::RefStr>,
{
self.raw
.refname_to_id(reference.as_ref().as_str())
+8 -5
View File
@@ -7,8 +7,11 @@ use std::path::Path;
use either::Either;
use git_ext::{error::is_not_found_err, Oid};
use git_ref_format::{Qualified, RefStr, RefString};
use git_ext::{
error::is_not_found_err,
ref_format::{self, Qualified, RefStr, RefString},
Oid,
};
use crate::{
odb,
@@ -103,21 +106,21 @@ impl<'a> refdb::Read for &'a Write {
fn find_reference<Ref>(&self, reference: Ref) -> Result<Option<Reference>, Self::FindRef>
where
Ref: AsRef<git_ref_format::RefStr>,
Ref: AsRef<ref_format::RefStr>,
{
self.read_only().find_reference(reference)
}
fn find_references<Pat>(&self, reference: Pat) -> Result<Self::References, Self::FindRefs>
where
Pat: AsRef<git_ref_format::refspec::PatternStr>,
Pat: AsRef<ref_format::refspec::PatternStr>,
{
self.read_only().find_references(reference)
}
fn find_reference_oid<Ref>(&self, reference: Ref) -> Result<Option<Oid>, Self::FindRefOid>
where
Ref: AsRef<git_ref_format::RefStr>,
Ref: AsRef<ref_format::RefStr>,
{
self.read_only().find_reference_oid(reference)
}
+1 -1
View File
@@ -5,7 +5,7 @@
use std::path::Path;
use git_ref_format::refspec::PatternString;
use git_ext::ref_format::refspec::PatternString;
pub trait Pattern {
fn matches<P: AsRef<Path>>(&self, path: P) -> bool;
+1 -2
View File
@@ -3,8 +3,7 @@
use std::error::Error;
use git_ext::Oid;
use git_ref_format::RefStr;
use git_ext::{ref_format::RefStr, Oid};
use super::{Commit, Object, Read, Tree, TreeBuilder};
+2 -3
View File
@@ -19,8 +19,7 @@
use std::fmt::Debug;
use git_ext::Oid;
use git_ref_format::RefString;
use git_ext::{ref_format::RefString, Oid};
pub mod iter;
pub use iter::{References, ReferencesGlob};
@@ -104,7 +103,7 @@ pub mod error {
#[error("reference name did contain valid UTF-8 bytes")]
InvalidUtf8,
#[error(transparent)]
RefString(#[from] git_ref_format::Error),
RefString(#[from] radicle_git_ext::ref_format::Error),
}
#[derive(Debug, Error)]
+4 -2
View File
@@ -3,8 +3,10 @@
use std::error::Error;
use git_ext::Oid;
use git_ref_format::{refspec, RefStr};
use git_ext::{
ref_format::{refspec, RefStr},
Oid,
};
use super::Reference;
+4 -2
View File
@@ -3,8 +3,10 @@
use std::error::Error;
use git_ext::Oid;
use git_ref_format::{Qualified, RefString};
use git_ext::{
ref_format::{Qualified, RefString},
Oid,
};
use super::read::Read;
-7
View File
@@ -38,10 +38,3 @@ features = ["v4"]
[dev-dependencies.radicle-git-ext-test]
path = "../../radicle-git-ext/t"
features = ["test"]
[dev-dependencies.git-ref-format]
path = "../../git-ref-format"
[dev-dependencies.git-ref-format-test]
path = "../../git-ref-format/t"
features = ["test"]
+2 -2
View File
@@ -3,12 +3,12 @@
use git2::ObjectType;
use git_ref_format::RefString;
use git_ref_format_test::gen::valid;
use git_storage::{
odb::{Read as _, Write as _},
signature::UserInfo,
};
use radicle_git_ext::ref_format::RefString;
use radicle_git_ext_test::git_ref_format::gen::valid;
use proptest::prelude::*;
+2 -1
View File
@@ -25,7 +25,8 @@ features = ["vendored-libgit2"]
[dependencies.git-ref-format]
version = "0.2.0"
path = "../git-ref-format"
path = "./git-ref-format"
features = ["macro", "serde", "minicbor"]
[dependencies.serde]
version = "1"
@@ -32,7 +32,7 @@ pub fn refname(input: TokenStream) -> TokenStream {
let expand = quote! {
unsafe {
use ::std::mem::transmute;
use ::git_ref_format::RefString;
use ::radicle_git_ext::ref_format::RefString;
transmute::<_, RefString>(#safe.to_owned())
}
@@ -66,7 +66,7 @@ pub fn qualified(input: TokenStream) -> TokenStream {
let expand = quote! {
unsafe {
use ::std::{borrow::Cow, mem::transmute};
use ::git_ref_format::{Component, RefStr, RefString, Qualified};
use ::radicle_git_ext::ref_format::{Component, RefStr, RefString, Qualified};
let inner: RefString = transmute(#safe.to_owned());
let cow: Cow<'static, RefStr> = Cow::Owned(inner);
@@ -112,7 +112,7 @@ pub fn component(input: TokenStream) -> TokenStream {
let expand = quote! {
unsafe {
use ::std::{borrow::Cow, mem::transmute};
use ::git_ref_format::{Component, RefStr, RefString};
use ::radicle_git_ext::ref_format::{Component, RefStr, RefString};
let inner: RefString = transmute(#safe.to_owned());
let cow: Cow<'static, RefStr> = Cow::Owned(inner);
@@ -153,7 +153,7 @@ pub fn pattern(input: TokenStream) -> TokenStream {
let expand = quote! {
unsafe {
use ::std::mem::transmute;
use ::git_ref_format::refspec::PatternString;
use ::radicle_git_ext::ref_format::refspec::PatternString;
transmute::<_, PatternString>(#safe.to_owned())
}
+2
View File
@@ -20,3 +20,5 @@ pub use oid::*;
pub use revwalk::*;
pub use transport::*;
pub use tree::Tree;
pub use git_ref_format as ref_format;
@@ -1,13 +1,11 @@
// Copyright © 2022 The Radicle Link Contributors
// SPDX-License-Identifier: GPL-3.0-or-later
#[cfg(test)]
#[macro_use]
extern crate assert_matches;
#[cfg(any(test, feature = "test"))]
pub mod gen;
#[cfg(test)]
mod properties;
pub mod properties;
#[cfg(test)]
mod tests;
pub mod tests;
@@ -1,10 +1,10 @@
// Copyright © 2022 The Radicle Link Contributors
// SPDX-License-Identifier: GPL-3.0-or-later
use git_ref_format::{check_ref_format, Error, Options};
use proptest::prelude::*;
use radicle_git_ext::ref_format::{check_ref_format, Error, Options};
use crate::gen;
use crate::git_ref_format::gen;
mod name;
mod pattern;
@@ -3,11 +3,11 @@
use std::convert::TryFrom;
use git_ref_format::{name, refname, Error, RefStr, RefString};
use proptest::prelude::*;
use radicle_git_ext::ref_format::{name, refname, Error, RefStr, RefString};
use test_helpers::roundtrip;
use crate::gen;
use crate::git_ref_format::gen;
proptest! {
#[test]
@@ -3,11 +3,11 @@
use std::convert::TryFrom;
use git_ref_format::{refspec, Error};
use proptest::prelude::*;
use radicle_git_ext::ref_format::{refspec, Error};
use test_helpers::roundtrip;
use crate::gen;
use crate::git_ref_format::gen;
proptest! {
#[test]
@@ -1,7 +1,7 @@
// Copyright © 2022 The Radicle Link Contributors
// SPDX-License-Identifier: GPL-3.0-or-later
use git_ref_format::{
use radicle_git_ext::ref_format::{
component,
name,
qualified,
+6
View File
@@ -1,8 +1,14 @@
// Copyright © 2022 The Radicle Link Contributors
// SPDX-License-Identifier: GPL-3.0-or-later
#[cfg(test)]
#[macro_use]
extern crate assert_matches;
#[cfg(any(test, feature = "test"))]
pub mod gen;
#[cfg(test)]
mod commit;
#[cfg(any(test, feature = "test"))]
pub mod git_ref_format;
-5
View File
@@ -37,11 +37,6 @@ version = "0.16.1"
default-features = false
features = ["vendored-libgit2"]
[dependencies.git-ref-format]
version = "0.2.0"
path = "../git-ref-format"
features = ["macro", "serde"]
[dependencies.radicle-git-ext]
version = "0.2.0"
path = "../radicle-git-ext"
+5 -5
View File
@@ -3,7 +3,7 @@ use std::{
str::{self, FromStr},
};
use git_ref_format::{component, lit, Component, Qualified, RefStr, RefString};
use git_ext::ref_format::{component, lit, Component, Qualified, RefStr, RefString};
use crate::refs::refstr_join;
@@ -295,7 +295,7 @@ impl FromStr for Remote {
}
pub mod error {
use git_ref_format::RefString;
use radicle_git_ext::ref_format::{self, RefString};
use thiserror::Error;
#[derive(Debug, Error)]
@@ -305,7 +305,7 @@ pub mod error {
#[error("the refname '{0}' did not begin with 'refs/heads' or 'refs/remotes'")]
NotQualified(String),
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] std::str::Utf8Error),
}
@@ -317,7 +317,7 @@ pub mod error {
#[error("the refname '{0}' did not begin with 'refs/heads'")]
NotQualified(String),
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] std::str::Utf8Error),
}
@@ -329,7 +329,7 @@ pub mod error {
#[error("the refname '{0}' did not begin with 'refs/remotes'")]
NotRemotes(RefString),
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] std::str::Utf8Error),
}
+1 -1
View File
@@ -44,7 +44,7 @@ pub enum Error {
#[error(transparent)]
Namespace(#[from] namespace::Error),
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] git_ext::ref_format::Error),
#[error(transparent)]
Revision(Box<dyn std::error::Error + Send + Sync + 'static>),
#[error(transparent)]
+3 -2
View File
@@ -17,7 +17,8 @@
use std::marker::PhantomData;
use git_ref_format::{
use git_ext::ref_format::{
self,
refname,
refspec::{self, PatternString, QualifiedPattern},
Qualified,
@@ -31,7 +32,7 @@ use crate::{Branch, Local, Namespace, Remote, Tag};
#[derive(Debug, Error)]
pub enum Error {
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
}
/// A collection of globs for a git reference type.
+3 -1
View File
@@ -32,8 +32,10 @@
//!
//! [serde]: https://crates.io/crates/serde
extern crate radicle_git_ext as git_ext;
/// Re-exports.
pub use git_ref_format;
pub use radicle_git_ext::ref_format;
/// Represents an object id in Git. Re-exported from `radicle-git-ext`.
pub type Oid = radicle_git_ext::Oid;
+3 -3
View File
@@ -21,7 +21,8 @@ use std::{
str::{self, FromStr},
};
use git_ref_format::{
use git_ext::ref_format::{
self,
refspec::{NamespacedPattern, PatternString, QualifiedPattern},
Component,
Namespaced,
@@ -30,7 +31,6 @@ use git_ref_format::{
RefString,
};
use nonempty::NonEmpty;
pub use radicle_git_ext::Oid;
use thiserror::Error;
#[derive(Debug, Error)]
@@ -40,7 +40,7 @@ pub enum Error {
#[error("namespaces must not be empty")]
EmptyNamespace,
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] str::Utf8Error),
}
+4 -4
View File
@@ -6,7 +6,7 @@ use std::{
convert::TryFrom as _,
};
use git_ref_format::{lit, name::Components, Component, Qualified, RefString};
use git_ext::ref_format::{self, lit, name::Components, Component, Qualified, RefString};
use crate::{tag, Branch, Namespace, Tag};
@@ -187,7 +187,7 @@ impl<'a> Iterator for Categories<'a> {
Some(res) => {
return Some(res.map_err(error::Category::from).and_then(|r| {
let name = std::str::from_utf8(r.name_bytes())?;
let name = git_ref_format::RefStr::try_from_str(name)?;
let name = ref_format::RefStr::try_from_str(name)?;
let name = name.qualified().ok_or_else(|| {
error::Category::NotQualified(name.to_ref_string())
})?;
@@ -207,7 +207,7 @@ impl<'a> Iterator for Categories<'a> {
pub mod error {
use std::str;
use git_ref_format::RefString;
use radicle_git_ext::ref_format::{self, RefString};
use thiserror::Error;
use crate::{branch, tag};
@@ -227,7 +227,7 @@ pub mod error {
#[error("the reference '{0}' was expected to be qualified, i.e. 'refs/<category>/<path>'")]
NotQualified(RefString),
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] str::Utf8Error),
}
+4 -2
View File
@@ -22,8 +22,10 @@ use std::{
str,
};
use git_ref_format::{refspec::QualifiedPattern, Qualified, RefStr, RefString};
use radicle_git_ext::Oid;
use git_ext::{
ref_format::{refspec::QualifiedPattern, Qualified, RefStr, RefString},
Oid,
};
use crate::{
blob::{Blob, BlobRef},
+4 -2
View File
@@ -17,8 +17,10 @@
use std::{convert::Infallible, str::FromStr};
use git_ref_format::{Qualified, RefString};
use radicle_git_ext::Oid;
use git_ext::{
ref_format::{Qualified, RefString},
Oid,
};
use crate::{Branch, Commit, Error, Repository, Tag};
+7 -5
View File
@@ -1,7 +1,9 @@
use std::{convert::TryFrom, str};
use git_ref_format::{component, lit, Qualified, RefStr, RefString};
use radicle_git_ext::Oid;
use git_ext::{
ref_format::{component, lit, Qualified, RefStr, RefString},
Oid,
};
use crate::{refs::refstr_join, Author};
@@ -60,13 +62,13 @@ impl Tag {
pub mod error {
use std::str;
use git_ref_format::RefString;
use radicle_git_ext::ref_format::{self, RefString};
use thiserror::Error;
#[derive(Debug, Error)]
pub enum FromTag {
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] str::Utf8Error),
}
@@ -82,7 +84,7 @@ pub mod error {
#[error("the refname '{0}' did not begin with 'refs/tags'")]
NotTag(RefString),
#[error(transparent)]
RefFormat(#[from] git_ref_format::Error),
RefFormat(#[from] ref_format::Error),
#[error(transparent)]
Utf8(#[from] str::Utf8Error),
}
+4 -8
View File
@@ -23,17 +23,13 @@ version = "0.16.1"
default-features = false
features = ["vendored-libgit2"]
[dev-dependencies.git-ref-format]
path = "../../git-ref-format"
features = ["macro"]
[dev-dependencies.git-ref-format-test]
path = "../../git-ref-format/t"
features = ["test"]
[dev-dependencies.radicle-git-ext]
path = "../../radicle-git-ext"
[dev-dependencies.radicle-git-ext-test]
path = "../../radicle-git-ext/t"
features = ["test"]
[dev-dependencies.radicle-surf]
path = ".."
features = ["serde"]
+3 -4
View File
@@ -1,9 +1,8 @@
use git_ref_format::{RefStr, RefString};
use git_ref_format_test::gen;
use proptest::prelude::*;
use test_helpers::roundtrip;
use radicle_git_ext::ref_format::{RefStr, RefString};
use radicle_git_ext_test::git_ref_format::gen;
use radicle_surf::Branch;
use test_helpers::roundtrip;
proptest! {
#[test]
+1 -1
View File
@@ -1,6 +1,6 @@
use std::path::Path;
use git_ref_format::refname;
use radicle_git_ext::ref_format::refname;
use radicle_surf::{
fs::{self, Directory},
Branch,
+1 -2
View File
@@ -1,6 +1,5 @@
use git_ref_format::refname;
use pretty_assertions::assert_eq;
use radicle_git_ext::Oid;
use radicle_git_ext::{ref_format::refname, Oid};
use radicle_surf::{
diff::{
Added,
+1 -1
View File
@@ -4,7 +4,7 @@
//! Unit tests for radicle_surf::file_system
mod directory {
use git_ref_format::refname;
use radicle_git_ext::ref_format::refname;
use radicle_surf::{
fs::{self, Entry},
Branch,
+1 -2
View File
@@ -1,7 +1,6 @@
use std::{path::PathBuf, str::FromStr};
use git_ref_format::refname;
use radicle_git_ext::Oid;
use radicle_git_ext::{ref_format::refname, Oid};
use radicle_surf::{Branch, Repository};
use super::GIT_PLATINUM;
+1 -1
View File
@@ -1,5 +1,5 @@
use git_ref_format::{name::component, refname, refspec};
use pretty_assertions::{assert_eq, assert_ne};
use radicle_git_ext::ref_format::{name::component, refname, refspec};
use radicle_surf::{Branch, Error, Glob, Repository};
use super::GIT_PLATINUM;
+1 -1
View File
@@ -1,4 +1,4 @@
use git_ref_format::refspec;
use radicle_git_ext::ref_format::refspec;
use radicle_surf::{Glob, Repository};
use super::GIT_PLATINUM;
+1 -1
View File
@@ -1,6 +1,6 @@
use std::str::FromStr;
use git_ref_format::{name::component, refname};
use radicle_git_ext::ref_format::{name::component, refname};
use radicle_surf::{Branch, Error, Oid, Repository};
use super::GIT_PLATINUM;
+1 -1
View File
@@ -1,6 +1,6 @@
use std::path::PathBuf;
use git_ref_format::refname;
use radicle_git_ext::ref_format::refname;
use radicle_surf::{Branch, Glob, Repository};
use serde_json::json;
+1 -1
View File
@@ -2,7 +2,7 @@
#[test]
// An issue with submodules, see: https://github.com/radicle-dev/radicle-surf/issues/54
fn test_submodule_failure() {
use git_ref_format::refname;
use radicle_git_ext::ref_format::refname;
use radicle_surf::{Branch, Repository};
let repo = Repository::discover(".").unwrap();
+1 -1
View File
@@ -1,6 +1,6 @@
use std::sync::{Mutex, MutexGuard};
use git_ref_format::{name::component, refname};
use radicle_git_ext::ref_format::{name::component, refname};
use radicle_surf::{Branch, Error, Glob, Repository};
use super::GIT_PLATINUM;
-5
View File
@@ -19,10 +19,6 @@ features = ["test"]
path = "../radicle-git-ext/t"
features = ["test"]
[dev-dependencies.git-ref-format-test]
path = "../git-ref-format/t"
features = ["test"]
[dev-dependencies.git-trailers-test]
path = "../git-trailers/t"
features = ["test"]
@@ -38,4 +34,3 @@ features = ["test"]
[dev-dependencies.git-storage-test]
path = "../git-storage/t"
features = ["test"]