diff --git a/git-repository/src/revision/spec/parse/delegate.rs b/git-repository/src/revision/spec/parse/delegate.rs index 5fd6264b3f..e8c26d91f5 100644 --- a/git-repository/src/revision/spec/parse/delegate.rs +++ b/git-repository/src/revision/spec/parse/delegate.rs @@ -271,9 +271,17 @@ impl<'repo> delegate::Revision for Delegate<'repo> { } } - fn reflog(&mut self, _query: ReflogLookup) -> Option<()> { + fn reflog(&mut self, query: ReflogLookup) -> Option<()> { self.unset_disambiguate_call(); - todo!() + match query { + ReflogLookup::Date(_date) => { + self.err.push(Error::Planned { + dependency: "remote handling and ref-specs are fleshed out more", + }); + None + } + ReflogLookup::Entry(_no) => todo!("entry lookup"), + } } fn nth_checked_out_branch(&mut self, branch_no: usize) -> Option<()> { diff --git a/git-repository/tests/revision/spec/from_bytes/reflog.rs b/git-repository/tests/revision/spec/from_bytes/reflog.rs index 6c65e95742..e26cd9ec35 100644 --- a/git-repository/tests/revision/spec/from_bytes/reflog.rs +++ b/git-repository/tests/revision/spec/from_bytes/reflog.rs @@ -1,4 +1,5 @@ -use crate::revision::spec::from_bytes::{parse_spec, repo}; +use crate::revision::spec::from_bytes::{parse_spec, parse_spec_no_baseline, repo}; +use git_repository::revision::spec::parse::Error; #[test] fn nth_prior_checkout() { @@ -20,3 +21,12 @@ fn nth_prior_checkout() { "HEAD has 5 prior checkouts and checkout number 6 is out of range" ); } + +#[test] +fn by_date() { + let repo = repo("complex_graph").unwrap(); + assert!(matches!( + parse_spec_no_baseline("main@{1979-02-26 18:30:00}", &repo).unwrap_err(), + Error::Planned { .. } + )); +}