…so that it always comes from git-object if possible, and so that major users like git-ref re-export it. The re-export is really something to possibly change to put that onto git-repository level, as well.
Showing the changes to git-ref/src (28 of 44 files). Show all
Unified · Split
| @@ -1,6 +1,6 @@ | |||
| 1 | use std::{borrow::Cow, convert::TryFrom, path::Path}; | 1 | use std::{borrow::Cow, convert::TryFrom, path::Path}; |
| 2 | 2 | ||
| 3 | use bstr::{BStr, BString, ByteSlice}; | 3 | use git_object::bstr::{BStr, BString, ByteSlice}; |
| 4 | 4 | ||
| 5 | use crate::{FullName, FullNameRef}; | 5 | use crate::{FullName, FullNameRef}; |
| 6 | 6 | ||
| @@ -18,8 +18,9 @@ · 17 unmodified lines | |||
| 18 | //! * supersedes all of the above to allow handling hundreds of thousands of references. | 18 | //! * supersedes all of the above to allow handling hundreds of thousands of references. |
| 19 | #![forbid(unsafe_code)] | 19 | #![forbid(unsafe_code)] |
| 20 | #![deny(missing_docs, rust_2018_idioms)] | 20 | #![deny(missing_docs, rust_2018_idioms)] |
| 21 | use bstr::{BStr, BString}; | ||
| 22 | use git_hash::{oid, ObjectId}; | 21 | use git_hash::{oid, ObjectId}; |
| 22 | pub use git_object::bstr; | ||
| 23 | use git_object::bstr::{BStr, BString}; | ||
| 23 | 24 | ||
| 24 | mod store; | 25 | mod store; |
| 25 | pub use store::{file, packed}; | 26 | pub use store::{file, packed}; |
| @@ -41,8 +42,8 @@ mod target; · 15 unmodified lines | |||
| 41 | 42 | ||
| 42 | /// | 43 | /// |
| 43 | pub mod log { | 44 | pub mod log { |
| 44 | use bstr::BString; | ||
| 45 | use git_hash::ObjectId; | 45 | use git_hash::ObjectId; |
| 46 | use git_object::bstr::BString; | ||
| 46 | 47 | ||
| 47 | /// A parsed ref log line that can be changed | 48 | /// A parsed ref log line that can be changed |
| 48 | #[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone)] | 49 | #[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone)] |
| @@ -4,7 +4,7 @@ use std::{ · 3 unmodified lines | |||
| 4 | path::Path, | 4 | path::Path, |
| 5 | }; | 5 | }; |
| 6 | 6 | ||
| 7 | use bstr::{BStr, ByteSlice}; | 7 | use git_object::bstr::{BStr, ByteSlice}; |
| 8 | 8 | ||
| 9 | use crate::{FullNameRef, PartialNameRef}; | 9 | use crate::{FullNameRef, PartialNameRef}; |
| 10 | 10 | ||
| @@ -1,6 +1,6 @@ | |||
| 1 | use std::{borrow::Cow, convert::TryInto, path::Path}; | 1 | use std::{borrow::Cow, convert::TryInto, path::Path}; |
| 2 | 2 | ||
| 3 | use bstr::{BStr, BString, ByteSlice, ByteVec}; | 3 | use git_object::bstr::{BStr, BString, ByteSlice, ByteVec}; |
| 4 | 4 | ||
| 5 | use crate::{Namespace, PartialNameRef}; | 5 | use crate::{Namespace, PartialNameRef}; |
| 6 | 6 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | use bstr::{BStr, ByteSlice}; | 1 | use git_object::bstr::{BStr, ByteSlice}; |
| 2 | use nom::{ | 2 | use nom::{ |
| 3 | branch::alt, | 3 | branch::alt, |
| 4 | bytes::complete::{tag, take_while_m_n}, | 4 | bytes::complete::{tag, take_while_m_n}, |
| @@ -10,7 +10,7 @@ pub fn none( · 9 unmodified lines | |||
| 10 | pub mod to_id { | 10 | pub mod to_id { |
| 11 | use std::path::PathBuf; | 11 | use std::path::PathBuf; |
| 12 | 12 | ||
| 13 | use bstr::BString; | 13 | use git_object::bstr::BString; |
| 14 | use quick_error::quick_error; | 14 | use quick_error::quick_error; |
| 15 | 15 | ||
| 16 | use crate::file; | 16 | use crate::file; |
| @@ -55,7 +55,7 @@ mod convert { · 54 unmodified lines | |||
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | mod access { | 57 | mod access { |
| 58 | use bstr::ByteSlice; | 58 | use git_object::bstr::ByteSlice; |
| 59 | 59 | ||
| 60 | use crate::{raw::Reference, FullNameRef, Namespace}; | 60 | use crate::{raw::Reference, FullNameRef, Namespace}; |
| 61 | 61 | ||
| @@ -4,8 +4,8 @@ use std::{ · 3 unmodified lines | |||
| 4 | path::{Path, PathBuf}, | 4 | path::{Path, PathBuf}, |
| 5 | }; | 5 | }; |
| 6 | 6 | ||
| 7 | use bstr::ByteSlice; | ||
| 8 | pub use error::Error; | 7 | pub use error::Error; |
| 8 | use git_object::bstr::ByteSlice; | ||
| 9 | 9 | ||
| 10 | use crate::{ | 10 | use crate::{ |
| 11 | file, | 11 | file, |
| @@ -1,4 +1,4 @@ | |||
| 1 | use bstr::ByteSlice; | 1 | use git_object::bstr::ByteSlice; |
| 2 | 2 | ||
| 3 | use crate::store::file::{log, log::iter::decode::LineNumber}; | 3 | use crate::store::file::{log, log::iter::decode::LineNumber}; |
| 4 | 4 | ||
| @@ -59,7 +59,7 @@ pub fn forward(lines: &[u8]) -> Forward<'_> { · 54 unmodified lines | |||
| 59 | 59 | ||
| 60 | /// An iterator yielding parsed lines in a file from start to end, oldest to newest. | 60 | /// An iterator yielding parsed lines in a file from start to end, oldest to newest. |
| 61 | pub struct Forward<'a> { | 61 | pub struct Forward<'a> { |
| 62 | inner: std::iter::Enumerate<bstr::Lines<'a>>, | 62 | inner: std::iter::Enumerate<git_object::bstr::Lines<'a>>, |
| 63 | } | 63 | } |
| 64 | 64 | ||
| 65 | impl<'a> Iterator for Forward<'a> { | 65 | impl<'a> Iterator for Forward<'a> { |
| @@ -12,7 +12,7 @@ impl<'a> LineRef<'a> { · 11 unmodified lines | |||
| 12 | mod write { | 12 | mod write { |
| 13 | use std::io; | 13 | use std::io; |
| 14 | 14 | ||
| 15 | use bstr::{BStr, ByteSlice}; | 15 | use git_object::bstr::{BStr, ByteSlice}; |
| 16 | use quick_error::quick_error; | 16 | use quick_error::quick_error; |
| 17 | 17 | ||
| 18 | use crate::log::Line; | 18 | use crate::log::Line; |
| @@ -77,7 +77,7 @@ impl<'a> From<LineRef<'a>> for Line { · 58 unmodified lines | |||
| 77 | 77 | ||
| 78 | /// | 78 | /// |
| 79 | pub mod decode { | 79 | pub mod decode { |
| 80 | use bstr::{BStr, ByteSlice}; | 80 | use git_object::bstr::{BStr, ByteSlice}; |
| 81 | use nom::{ | 81 | use nom::{ |
| 82 | bytes::complete::{tag, take_while}, | 82 | bytes::complete::{tag, take_while}, |
| 83 | combinator::opt, | 83 | combinator::opt, |
| @@ -90,7 +90,7 @@ pub mod decode { · 6 unmodified lines | |||
| 90 | 90 | ||
| 91 | /// | 91 | /// |
| 92 | mod error { | 92 | mod error { |
| 93 | use bstr::{BString, ByteSlice}; | 93 | use git_object::bstr::{BString, ByteSlice}; |
| 94 | 94 | ||
| 95 | /// The error returned by [from_bytes(…)][super::Line::from_bytes()] | 95 | /// The error returned by [from_bytes(…)][super::Line::from_bytes()] |
| 96 | #[derive(Debug)] | 96 | #[derive(Debug)] |
| @@ -172,9 +172,9 @@ pub mod decode { · 75 unmodified lines | |||
| 172 | 172 | ||
| 173 | #[cfg(test)] | 173 | #[cfg(test)] |
| 174 | mod test { | 174 | mod test { |
| 175 | use bstr::ByteSlice; | ||
| 176 | use git_actor::{Sign, Time}; | 175 | use git_actor::{Sign, Time}; |
| 177 | use git_hash::ObjectId; | 176 | use git_hash::ObjectId; |
| 177 | use git_object::bstr::ByteSlice; | ||
| 178 | 178 | ||
| 179 | use super::*; | 179 | use super::*; |
| 180 | 180 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | use bstr::BStr; | 1 | use git_object::bstr::BStr; |
| 2 | 2 | ||
| 3 | pub use super::loose::reflog::{create_or_update, Error}; | 3 | pub use super::loose::reflog::{create_or_update, Error}; |
| 4 | 4 | ||
| @@ -3,8 +3,8 @@ use std::{ · 2 unmodified lines | |||
| 3 | path::{Path, PathBuf}, | 3 | path::{Path, PathBuf}, |
| 4 | }; | 4 | }; |
| 5 | 5 | ||
| 6 | use bstr::ByteSlice; | ||
| 7 | use git_features::fs::walkdir::DirEntryIter; | 6 | use git_features::fs::walkdir::DirEntryIter; |
| 7 | use git_object::bstr::ByteSlice; | ||
| 8 | use os_str_bytes::OsStrBytes; | 8 | use os_str_bytes::OsStrBytes; |
| 9 | 9 | ||
| 10 | use crate::{ | 10 | use crate::{ |
| @@ -1,7 +1,7 @@ | |||
| 1 | use std::convert::{TryFrom, TryInto}; | 1 | use std::convert::{TryFrom, TryInto}; |
| 2 | 2 | ||
| 3 | use bstr::BString; | ||
| 4 | use git_hash::ObjectId; | 3 | use git_hash::ObjectId; |
| 4 | use git_object::bstr::BString; | ||
| 5 | use nom::{ | 5 | use nom::{ |
| 6 | bytes::complete::{tag, take_while}, | 6 | bytes::complete::{tag, take_while}, |
| 7 | combinator::{map, opt}, | 7 | combinator::{map, opt}, |
| @@ -89,8 +89,8 @@ pub mod create_or_update { · 88 unmodified lines | |||
| 89 | path::{Path, PathBuf}, | 89 | path::{Path, PathBuf}, |
| 90 | }; | 90 | }; |
| 91 | 91 | ||
| 92 | use bstr::BStr; | ||
| 93 | use git_hash::{oid, ObjectId}; | 92 | use git_hash::{oid, ObjectId}; |
| 93 | use git_object::bstr::BStr; | ||
| 94 | 94 | ||
| 95 | use crate::store::{file, file::WriteReflog}; | 95 | use crate::store::{file, file::WriteReflog}; |
| 96 | 96 | ||
| @@ -1,8 +1,8 @@ | |||
| 1 | use super::*; | 1 | use super::*; |
| 2 | use crate::{file::WriteReflog, FullNameRef}; | 2 | use crate::{file::WriteReflog, FullNameRef}; |
| 3 | use bstr::ByteSlice; | ||
| 4 | use git_actor::{Sign, Signature, Time}; | 3 | use git_actor::{Sign, Signature, Time}; |
| 5 | use git_lock::acquire::Fail; | 4 | use git_lock::acquire::Fail; |
| 5 | use git_object::bstr::ByteSlice; | ||
| 6 | use git_testtools::hex_to_id; | 6 | use git_testtools::hex_to_id; |
| 7 | use std::{convert::TryInto, path::Path}; | 7 | use std::{convert::TryInto, path::Path}; |
| 8 | use tempfile::TempDir; | 8 | use tempfile::TempDir; |
| @@ -38,12 +38,12 @@ pub struct Transaction<'s> { · 37 unmodified lines | |||
| 38 | namespace: Option<crate::Namespace>, | 38 | namespace: Option<crate::Namespace>, |
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | pub(in crate::store::file) fn path_to_name(path: impl Into<PathBuf>) -> bstr::BString { | 41 | pub(in crate::store::file) fn path_to_name(path: impl Into<PathBuf>) -> git_object::bstr::BString { |
| 42 | use os_str_bytes::OsStringBytes; | 42 | use os_str_bytes::OsStringBytes; |
| 43 | let path = path.into().into_raw_vec(); | 43 | let path = path.into().into_raw_vec(); |
| 44 | #[cfg(windows)] | 44 | #[cfg(windows)] |
| 45 | let path = { | 45 | let path = { |
| 46 | use bstr::ByteSlice; | 46 | use git_object::bstr::ByteSlice; |
| 47 | path.replace(b"\\", b"/") | 47 | path.replace(b"\\", b"/") |
| 48 | }; | 48 | }; |
| 49 | path.into() | 49 | path.into() |
| @@ -150,7 +150,7 @@ impl file::Store { · 149 unmodified lines | |||
| 150 | mod error { | 150 | mod error { |
| 151 | use std::{io, path::PathBuf}; | 151 | use std::{io, path::PathBuf}; |
| 152 | 152 | ||
| 153 | use bstr::BString; | 153 | use git_object::bstr::BString; |
| 154 | use quick_error::quick_error; | 154 | use quick_error::quick_error; |
| 155 | 155 | ||
| 156 | use crate::store::file; | 156 | use crate::store::file; |
| @@ -155,7 +155,7 @@ impl<'s> Transaction<'s> { · 154 unmodified lines | |||
| 155 | } | 155 | } |
| 156 | } | 156 | } |
| 157 | mod error { | 157 | mod error { |
| 158 | use bstr::BString; | 158 | use git_object::bstr::BString; |
| 159 | use quick_error::quick_error; | 159 | use quick_error::quick_error; |
| 160 | 160 | ||
| 161 | use crate::store::{file, packed}; | 161 | use crate::store::{file, packed}; |
| @@ -1,5 +1,5 @@ | |||
| 1 | use bstr::BString; | ||
| 2 | use git_hash::ObjectId; | 1 | use git_hash::ObjectId; |
| 2 | use git_object::bstr::BString; | ||
| 3 | 3 | ||
| 4 | use crate::{ | 4 | use crate::{ |
| 5 | store::{file, file::Transaction}, | 5 | store::{file, file::Transaction}, |
| @@ -339,7 +339,7 @@ impl<'s> Transaction<'s> { · 338 unmodified lines | |||
| 339 | } | 339 | } |
| 340 | 340 | ||
| 341 | mod error { | 341 | mod error { |
| 342 | use bstr::BString; | 342 | use git_object::bstr::BString; |
| 343 | use quick_error::quick_error; | 343 | use quick_error::quick_error; |
| 344 | 344 | ||
| 345 | use crate::{ | 345 | use crate::{ |
| @@ -1,6 +1,6 @@ | |||
| 1 | use std::convert::TryFrom; | 1 | use std::convert::TryFrom; |
| 2 | 2 | ||
| 3 | use bstr::{BStr, ByteSlice}; | 3 | use git_object::bstr::{BStr, ByteSlice}; |
| 4 | use nom::{ | 4 | use nom::{ |
| 5 | bytes::complete::{tag, take_while}, | 5 | bytes::complete::{tag, take_while}, |
| 6 | combinator::{map, map_res, opt}, | 6 | combinator::{map, map_res, opt}, |
| @@ -46,7 +46,7 @@ mod reference { · 45 unmodified lines | |||
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | mod header { | 48 | mod header { |
| 49 | use bstr::ByteSlice; | 49 | use git_object::bstr::ByteSlice; |
| 50 | use git_testtools::to_bstr_err; | 50 | use git_testtools::to_bstr_err; |
| 51 | 51 | ||
| 52 | use super::Result; | 52 | use super::Result; |
| @@ -1,6 +1,6 @@ | |||
| 1 | use std::{borrow::Cow, convert::TryInto}; | 1 | use std::{borrow::Cow, convert::TryInto}; |
| 2 | 2 | ||
| 3 | use bstr::{BStr, BString, ByteSlice}; | 3 | use git_object::bstr::{BStr, BString, ByteSlice}; |
| 4 | 4 | ||
| 5 | use crate::{store::packed, PartialNameRef}; | 5 | use crate::{store::packed, PartialNameRef}; |
| 6 | 6 | ||
| @@ -1,4 +1,4 @@ | |||
| 1 | use bstr::{BString, ByteSlice}; | 1 | use git_object::bstr::{BString, ByteSlice}; |
| 2 | 2 | ||
| 3 | use crate::store::{packed, packed::decode}; | 3 | use crate::store::{packed, packed::decode}; |
| 4 | 4 | ||
| @@ -94,7 +94,7 @@ impl<'a> packed::Iter<'a> { · 89 unmodified lines | |||
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | mod error { | 96 | mod error { |
| 97 | use bstr::BString; | 97 | use git_object::bstr::BString; |
| 98 | use quick_error::quick_error; | 98 | use quick_error::quick_error; |
| 99 | 99 | ||
| 100 | quick_error! { | 100 | quick_error! { |
| @@ -1,8 +1,8 @@ | |||
| 1 | use std::path::PathBuf; | 1 | use std::path::PathBuf; |
| 2 | 2 | ||
| 3 | use bstr::{BStr, BString}; | ||
| 4 | use filebuffer::FileBuffer; | 3 | use filebuffer::FileBuffer; |
| 5 | use git_hash::ObjectId; | 4 | use git_hash::ObjectId; |
| 5 | use git_object::bstr::{BStr, BString}; | ||
| 6 | 6 | ||
| 7 | use crate::{transaction::RefEdit, FullNameRef}; | 7 | use crate::{transaction::RefEdit, FullNameRef}; |
| 8 | 8 | ||
| @@ -1,7 +1,7 @@ | |||
| 1 | use std::fmt; | 1 | use std::fmt; |
| 2 | 2 | ||
| 3 | use bstr::BStr; | ||
| 4 | use git_hash::{oid, ObjectId}; | 3 | use git_hash::{oid, ObjectId}; |
| 4 | use git_object::bstr::BStr; | ||
| 5 | 5 | ||
| 6 | use crate::{FullName, Kind, Target, TargetRef}; | 6 | use crate::{FullName, Kind, Target, TargetRef}; |
| 7 | use std::convert::TryFrom; | 7 | use std::convert::TryFrom; |
| @@ -1,4 +1,4 @@ | |||
| 1 | use bstr::{BString, ByteVec}; | 1 | use git_object::bstr::{BString, ByteVec}; |
| 2 | 2 | ||
| 3 | use crate::{ | 3 | use crate::{ |
| 4 | transaction::{Change, LogChange, PreviousValue, RefEdit, RefLog, Target}, | 4 | transaction::{Change, LogChange, PreviousValue, RefEdit, RefLog, Target}, |
| @@ -12,7 +12,7 @@ · 11 unmodified lines | |||
| 12 | //! - errors during preparations will cause a perfect rollback | 12 | //! - errors during preparations will cause a perfect rollback |
| 13 | //! * prepared transactions are committed to finalize the change | 13 | //! * prepared transactions are committed to finalize the change |
| 14 | //! - errors when committing while leave the ref store in an inconsistent, but operational state. | 14 | //! - errors when committing while leave the ref store in an inconsistent, but operational state. |
| 15 | use bstr::BString; | 15 | use git_object::bstr::BString; |
| 16 | 16 | ||
| 17 | use crate::{FullName, Target}; | 17 | use crate::{FullName, Target}; |
| 18 | 18 | ||