Skip to content

Commit e7188e0

Browse files
committed
[repository #190] refactor
1 parent 010be48 commit e7188e0

File tree

6 files changed

+68
-66
lines changed

6 files changed

+68
-66
lines changed

cargo-smart-release/src/command/release/git.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@ use cargo_metadata::{
66
camino::{Utf8Component, Utf8Path},
77
Package,
88
};
9-
use git_repository::{easy::object, prelude::ReferenceAccessExt, refs};
9+
use git_repository::{easy::object, prelude::ReferenceAccessExt, refs, refs::transaction::PreviousValue};
1010

1111
use super::{tag_name_for, utils::will, Context, Oid, Options};
12-
use git_repository::refs::transaction::PreviousValue;
1312

1413
fn is_top_level_package(manifest_path: &Utf8Path, shared: &git_repository::Easy) -> bool {
1514
manifest_path

git-ref/src/store/file/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,5 +80,6 @@ pub mod transaction;
8080
pub mod packed;
8181

8282
mod raw_ext;
83-
use crate::Namespace;
8483
pub use raw_ext::ReferenceExt;
84+
85+
use crate::Namespace;

git-ref/tests/reference/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
use git_ref::{FullName, Target};
21
use std::convert::TryInto;
32

3+
use git_ref::{FullName, Target};
4+
45
#[test]
56
fn strip_namespace() {
67
let ns = git_ref::namespace::expand("ns").unwrap();

git-repository/src/easy/ext/reference.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ pub trait ReferenceAccessExt: easy::Access + Sized {
164164
.ok_or(reference::find::existing::Error::NotFound)
165165
}
166166

167-
fn iter_references(&self) -> Result<easy::iter::references::State<'_, Self>, easy::iter::references::Error> {
167+
fn references(&self) -> Result<easy::iter::references::State<'_, Self>, easy::iter::references::Error> {
168168
let state = self.state();
169169
let repo = self.repo()?;
170170
let packed_refs = state.assure_packed_refs_uptodate(&repo.refs)?;

git-repository/src/easy/oid.rs

Lines changed: 55 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -4,57 +4,9 @@ use git_hash::{oid, ObjectId};
44

55
use crate::{
66
easy,
7-
easy::{ext::ObjectAccessExt, object::find, Object, ObjectRef, Oid},
7+
easy::{ext::ObjectAccessExt, object::find, ObjectRef, Oid},
88
};
99

10-
impl<'repo, A, B> PartialEq<Oid<'repo, A>> for Oid<'repo, B> {
11-
fn eq(&self, other: &Oid<'repo, A>) -> bool {
12-
self.inner == other.inner
13-
}
14-
}
15-
16-
impl<'repo, A> PartialEq<ObjectId> for Oid<'repo, A> {
17-
fn eq(&self, other: &ObjectId) -> bool {
18-
&self.inner == other
19-
}
20-
}
21-
22-
impl<'repo, A> PartialEq<oid> for Oid<'repo, A> {
23-
fn eq(&self, other: &oid) -> bool {
24-
self.inner == other
25-
}
26-
}
27-
28-
impl<'repo, A, B> PartialEq<ObjectRef<'repo, A>> for Oid<'repo, B> {
29-
fn eq(&self, other: &ObjectRef<'repo, A>) -> bool {
30-
self.inner == other.id
31-
}
32-
}
33-
34-
impl<'repo, A> PartialEq<Object> for Oid<'repo, A> {
35-
fn eq(&self, other: &Object) -> bool {
36-
self.inner == other.id
37-
}
38-
}
39-
40-
impl<'repo, A> std::fmt::Debug for Oid<'repo, A> {
41-
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
42-
self.inner.fmt(f)
43-
}
44-
}
45-
46-
impl<'repo, A> AsRef<oid> for Oid<'repo, A> {
47-
fn as_ref(&self) -> &oid {
48-
&self.inner
49-
}
50-
}
51-
52-
impl<'repo, A> From<Oid<'repo, A>> for ObjectId {
53-
fn from(v: Oid<'repo, A>) -> Self {
54-
v.inner
55-
}
56-
}
57-
5810
impl<'repo, A> Oid<'repo, A>
5911
where
6012
A: easy::Access + Sized,
@@ -97,6 +49,60 @@ where
9749
}
9850
}
9951

52+
mod impls {
53+
use git_hash::{oid, ObjectId};
54+
55+
use crate::easy::{Object, ObjectRef, Oid};
56+
57+
impl<'repo, A, B> PartialEq<Oid<'repo, A>> for Oid<'repo, B> {
58+
fn eq(&self, other: &Oid<'repo, A>) -> bool {
59+
self.inner == other.inner
60+
}
61+
}
62+
63+
impl<'repo, A> PartialEq<ObjectId> for Oid<'repo, A> {
64+
fn eq(&self, other: &ObjectId) -> bool {
65+
&self.inner == other
66+
}
67+
}
68+
69+
impl<'repo, A> PartialEq<oid> for Oid<'repo, A> {
70+
fn eq(&self, other: &oid) -> bool {
71+
self.inner == other
72+
}
73+
}
74+
75+
impl<'repo, A, B> PartialEq<ObjectRef<'repo, A>> for Oid<'repo, B> {
76+
fn eq(&self, other: &ObjectRef<'repo, A>) -> bool {
77+
self.inner == other.id
78+
}
79+
}
80+
81+
impl<'repo, A> PartialEq<Object> for Oid<'repo, A> {
82+
fn eq(&self, other: &Object) -> bool {
83+
self.inner == other.id
84+
}
85+
}
86+
87+
impl<'repo, A> std::fmt::Debug for Oid<'repo, A> {
88+
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
89+
self.inner.fmt(f)
90+
}
91+
}
92+
93+
impl<'repo, A> AsRef<oid> for Oid<'repo, A> {
94+
fn as_ref(&self) -> &oid {
95+
&self.inner
96+
}
97+
}
98+
99+
impl<'repo, A> From<Oid<'repo, A>> for ObjectId {
100+
fn from(v: Oid<'repo, A>) -> Self {
101+
v.inner
102+
}
103+
}
104+
}
105+
100106
#[cfg(test)]
101107
mod tests {
102108
use super::*;

git-repository/tests/easy/ext/reference.rs

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ mod set_namespace {
1010
fn affects_edits_and_iteration() {
1111
let (mut repo, _keep) = easy_repo_rw().unwrap();
1212
assert_eq!(
13-
repo.iter_references().unwrap().all().unwrap().count(),
13+
repo.references().unwrap().all().unwrap().count(),
1414
15,
1515
"there are plenty of references in the default namespace"
1616
);
@@ -21,12 +21,7 @@ mod set_namespace {
2121
);
2222

2323
assert_eq!(
24-
repo.iter_references()
25-
.unwrap()
26-
.all()
27-
.unwrap()
28-
.filter_map(Result::ok)
29-
.count(),
24+
repo.references().unwrap().all().unwrap().filter_map(Result::ok).count(),
3025
0,
3126
"no references are in the namespace yet"
3227
);
@@ -47,7 +42,7 @@ mod set_namespace {
4742
.unwrap();
4843

4944
assert_eq!(
50-
repo.iter_references()
45+
repo.references()
5146
.unwrap()
5247
.all()
5348
.unwrap()
@@ -59,7 +54,7 @@ mod set_namespace {
5954
);
6055

6156
assert_eq!(
62-
repo.iter_references()
57+
repo.references()
6358
.unwrap()
6459
.prefixed("refs/tags/")
6560
.unwrap()
@@ -89,7 +84,7 @@ mod set_namespace {
8984
);
9085

9186
assert_eq!(
92-
repo.iter_references().unwrap().all().unwrap().count(),
87+
repo.references().unwrap().all().unwrap().count(),
9388
17,
9489
"it lists all references, also the ones in namespaces"
9590
);
@@ -108,7 +103,7 @@ mod iter_references {
108103
fn all() -> crate::Result {
109104
let repo = repo()?;
110105
assert_eq!(
111-
repo.iter_references()?
106+
repo.references()?
112107
.all()?
113108
.filter_map(Result::ok)
114109
.map(|r| r.name().as_bstr().to_owned())
@@ -137,7 +132,7 @@ mod iter_references {
137132
fn prefixed() -> crate::Result {
138133
let repo = repo()?;
139134
assert_eq!(
140-
repo.iter_references()?
135+
repo.references()?
141136
.prefixed("refs/heads/")?
142137
.filter_map(Result::ok)
143138
.map(|r| r.name().as_bstr().to_owned())

0 commit comments

Comments
 (0)