Skip to content

Commit 7984e19

Browse files
committed
change!: Target::as_(id|name) -> Target::try_(id|name) (#364)
Conform to naming conventions, whenever something returns an option or Result while there is a more direct name that panics, prefix `try_`.
1 parent d23c3d4 commit 7984e19

File tree

5 files changed

+17
-17
lines changed

5 files changed

+17
-17
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ impl ReferenceExt for Reference {
108108
}
109109
};
110110
let mut buf = Vec::new();
111-
let mut oid = self.target.as_id().expect("peeled ref").to_owned();
111+
let mut oid = self.target.try_id().expect("peeled ref").to_owned();
112112
let peeled_id = loop {
113113
let (kind, data) = find(oid, &mut buf)
114114
.map_err(|err| Box::new(err) as Box<dyn std::error::Error + Send + Sync + 'static>)?

git-ref/src/target.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ impl<'a> TargetRef<'a> {
1414
}
1515
}
1616
/// Interpret this target as object id which maybe `None` if it is symbolic.
17-
pub fn as_id(&self) -> Option<&oid> {
17+
pub fn try_id(&self) -> Option<&oid> {
1818
match self {
1919
TargetRef::Symbolic(_) => None,
2020
TargetRef::Peeled(oid) => Some(oid),
@@ -28,7 +28,7 @@ impl<'a> TargetRef<'a> {
2828
}
2929
}
3030
/// Interpret this target as name of the reference it points to which maybe `None` if it an object id.
31-
pub fn as_name(&self) -> Option<&BStr> {
31+
pub fn try_name(&self) -> Option<&BStr> {
3232
match self {
3333
TargetRef::Symbolic(path) => Some(path.as_bstr()),
3434
TargetRef::Peeled(_) => None,
@@ -66,7 +66,7 @@ impl Target {
6666
}
6767

6868
/// Interpret this target as object id which maybe `None` if it is symbolic.
69-
pub fn as_id(&self) -> Option<&oid> {
69+
pub fn try_id(&self) -> Option<&oid> {
7070
match self {
7171
Target::Symbolic(_) => None,
7272
Target::Peeled(oid) => Some(oid),
@@ -95,7 +95,7 @@ impl Target {
9595
}
9696
}
9797
/// Interpret this target as name of the reference it points to which maybe `None` if it an object id.
98-
pub fn as_name(&self) -> Option<&BStr> {
98+
pub fn try_name(&self) -> Option<&BStr> {
9999
match self {
100100
Target::Symbolic(name) => Some(name.as_bstr()),
101101
Target::Peeled(_) => None,

git-ref/tests/file/reference.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ mod peel {
7979
let mut head: Reference = store.find_loose("HEAD")?.into();
8080
let expected = hex_to_id("134385f6d781b7e97062102c6a483440bfda2a03");
8181
assert_eq!(head.peel_to_id_in_place(&store, peel::none)?, expected);
82-
assert_eq!(head.target.as_id().map(ToOwned::to_owned), Some(expected));
82+
assert_eq!(head.target.try_id().map(ToOwned::to_owned), Some(expected));
8383

8484
let mut head = store.find("dt1")?;
8585
assert_eq!(head.peel_to_id_in_place(&store, peel::none)?, expected);
@@ -93,7 +93,7 @@ mod peel {
9393

9494
let head = store.find("dt1")?;
9595
assert_eq!(
96-
head.target.as_id().map(ToOwned::to_owned),
96+
head.target.try_id().map(ToOwned::to_owned),
9797
Some(hex_to_id("4c3f4cce493d7beb45012e478021b5f65295e5a3"))
9898
);
9999
assert_eq!(
@@ -104,7 +104,7 @@ mod peel {
104104

105105
let peeled = head.follow(&store).expect("a peeled ref for the object")?;
106106
assert_eq!(
107-
peeled.target.as_id().map(ToOwned::to_owned),
107+
peeled.target.try_id().map(ToOwned::to_owned),
108108
Some(hex_to_id("134385f6d781b7e97062102c6a483440bfda2a03")),
109109
"packed refs are always peeled (at least the ones we choose to read)"
110110
);
@@ -192,8 +192,8 @@ mod parse {
192192
let reference =
193193
Reference::try_from_path("HEAD".try_into().expect("valid static name"), $input).unwrap();
194194
assert_eq!(reference.kind(), $kind);
195-
assert_eq!(reference.target.to_ref().as_id(), $id);
196-
assert_eq!(reference.target.to_ref().as_name(), $ref);
195+
assert_eq!(reference.target.to_ref().try_id(), $id);
196+
assert_eq!(reference.target.to_ref().try_name(), $ref);
197197
}
198198
};
199199
}

git-ref/tests/file/transaction/prepare_and_commit/create_or_update.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -443,7 +443,7 @@ fn symbolic_head_missing_referent_then_update_referent() -> crate::Result {
443443
let head = store.find_loose(edits[0].name.to_partial())?;
444444
assert_eq!(head.name.as_bstr(), "HEAD");
445445
assert_eq!(head.kind(), git_ref::Kind::Symbolic);
446-
assert_eq!(head.target.to_ref().as_name(), Some(referent.as_bytes().as_bstr()));
446+
assert_eq!(head.target.to_ref().try_name(), Some(referent.as_bytes().as_bstr()));
447447
assert!(!head.log_exists(&store), "no reflog is written for symbolic ref");
448448
assert!(store.try_find_loose(referent)?.is_none(), "referent wasn't created");
449449

@@ -506,15 +506,15 @@ fn symbolic_head_missing_referent_then_update_referent() -> crate::Result {
506506
"head is still symbolic, not detached"
507507
);
508508
assert_eq!(
509-
head.target.to_ref().as_name(),
509+
head.target.to_ref().try_name(),
510510
Some(referent.as_bytes().as_bstr()),
511511
"it still points to the referent"
512512
);
513513

514514
let referent_ref = store.find_loose(referent)?;
515515
assert_eq!(referent_ref.kind(), git_ref::Kind::Peeled, "referent is a peeled ref");
516516
assert_eq!(
517-
referent_ref.target.to_ref().as_id(),
517+
referent_ref.target.to_ref().try_id(),
518518
Some(new_oid.as_ref()),
519519
"referent points to desired hash"
520520
);
@@ -544,7 +544,7 @@ fn symbolic_head_missing_referent_then_update_referent() -> crate::Result {
544544
fn write_reference_to_which_head_points_to_does_not_update_heads_reflog_even_though_it_should() -> crate::Result {
545545
let (_keep, store) = store_writable("make_repo_for_reflog.sh")?;
546546
let head = store.find_loose("HEAD")?;
547-
let referent = head.target.to_ref().as_name().expect("symbolic ref").to_owned();
547+
let referent = head.target.to_ref().try_name().expect("symbolic ref").to_owned();
548548
let previous_head_reflog = reflog_lines(&store, "HEAD")?;
549549

550550
let new_id = hex_to_id("01dd4e2a978a9f5bd773dae6da7aa4a5ac1cdbbc");
@@ -642,7 +642,7 @@ fn packed_refs_are_looked_up_when_checking_existing_values() -> crate::Result {
642642
"packed refs aren't rewritten, the change goes into the loose ref instead which shadows packed refs of same name"
643643
);
644644
assert_eq!(
645-
store.find_loose("main")?.target.as_id(),
645+
store.find_loose("main")?.target.try_id(),
646646
Some(new_id.as_ref()),
647647
"the new id was written to the loose ref"
648648
);
@@ -719,7 +719,7 @@ fn packed_refs_creation_with_packed_refs_mode_leave_keeps_original_loose_refs()
719719
let packed = store.open_packed_buffer()?.expect("packed-refs");
720720
assert_ne!(
721721
packed.find("newer-as-loose")?.target(),
722-
branch.target.as_id().expect("peeled"),
722+
branch.target.try_id().expect("peeled"),
723723
"the packed ref is outdated"
724724
);
725725
let previous_reflog_entries = branch.log_iter(&store).all()?.expect("log").count();

git-ref/tests/file/transaction/prepare_and_commit/delete.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ fn a_loose_ref_with_old_value_check_and_outdated_packed_refs_value_deletes_both_
374374
let (_keep, store) = store_writable("make_packed_ref_repository_for_overlay.sh")?;
375375
let packed = store.open_packed_buffer()?.expect("packed-refs");
376376
let branch = store.find("newer-as-loose")?;
377-
let branch_id = branch.target.as_id().map(ToOwned::to_owned).expect("peeled");
377+
let branch_id = branch.target.try_id().map(ToOwned::to_owned).expect("peeled");
378378
assert_ne!(
379379
packed.find("newer-as-loose")?.target(),
380380
branch_id,

0 commit comments

Comments
 (0)