cli: Fix `rev` argument parsing
We were using the `oid` function incorrectly, which has been changed to actually return an OID.
This commit is contained in:
parent
8196027f35
commit
5af8f70665
|
|
@ -269,7 +269,7 @@ impl Args for Options {
|
||||||
}
|
}
|
||||||
Long("reply-to") if op == Some(OperationName::Comment) => {
|
Long("reply-to") if op == Some(OperationName::Comment) => {
|
||||||
let val = parser.value()?;
|
let val = parser.value()?;
|
||||||
let rev = term::args::oid(&val)?;
|
let rev = term::args::rev(&val)?;
|
||||||
|
|
||||||
reply_to = Some(rev);
|
reply_to = Some(rev);
|
||||||
}
|
}
|
||||||
|
|
@ -321,7 +321,7 @@ impl Args for Options {
|
||||||
unknown => anyhow::bail!("unknown operation '{}'", unknown),
|
unknown => anyhow::bail!("unknown operation '{}'", unknown),
|
||||||
},
|
},
|
||||||
Value(val) if op.is_some() => {
|
Value(val) if op.is_some() => {
|
||||||
let val = term::args::oid(&val)?;
|
let val = term::args::rev(&val)?;
|
||||||
id = Some(val);
|
id = Some(val);
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
|
|
|
||||||
|
|
@ -323,7 +323,7 @@ impl Args for Options {
|
||||||
// Update options.
|
// Update options.
|
||||||
Long("revision") if op == Some(OperationName::Update) => {
|
Long("revision") if op == Some(OperationName::Update) => {
|
||||||
let val = parser.value()?;
|
let val = parser.value()?;
|
||||||
let rev = term::args::oid(&val)?;
|
let rev = term::args::rev(&val)?;
|
||||||
|
|
||||||
revision_id = Some(rev);
|
revision_id = Some(rev);
|
||||||
}
|
}
|
||||||
|
|
@ -331,7 +331,7 @@ impl Args for Options {
|
||||||
// Comment options.
|
// Comment options.
|
||||||
Long("reply-to") if op == Some(OperationName::Comment) => {
|
Long("reply-to") if op == Some(OperationName::Comment) => {
|
||||||
let val = parser.value()?;
|
let val = parser.value()?;
|
||||||
let rev = term::args::oid(&val)?;
|
let rev = term::args::rev(&val)?;
|
||||||
|
|
||||||
reply_to = Some(rev);
|
reply_to = Some(rev);
|
||||||
}
|
}
|
||||||
|
|
@ -339,7 +339,7 @@ impl Args for Options {
|
||||||
// Review options.
|
// Review options.
|
||||||
Long("revision") if op == Some(OperationName::Review) => {
|
Long("revision") if op == Some(OperationName::Review) => {
|
||||||
let val = parser.value()?;
|
let val = parser.value()?;
|
||||||
let rev = term::args::oid(&val)?;
|
let rev = term::args::rev(&val)?;
|
||||||
|
|
||||||
revision_id = Some(rev);
|
revision_id = Some(rev);
|
||||||
}
|
}
|
||||||
|
|
@ -398,7 +398,7 @@ impl Args for Options {
|
||||||
// Checkout options
|
// Checkout options
|
||||||
Long("revision") if op == Some(OperationName::Checkout) => {
|
Long("revision") if op == Some(OperationName::Checkout) => {
|
||||||
let val = parser.value()?;
|
let val = parser.value()?;
|
||||||
let rev = term::args::oid(&val)?;
|
let rev = term::args::rev(&val)?;
|
||||||
|
|
||||||
revision_id = Some(rev);
|
revision_id = Some(rev);
|
||||||
}
|
}
|
||||||
|
|
@ -495,7 +495,7 @@ impl Args for Options {
|
||||||
unknown => anyhow::bail!("unknown operation '{}'", unknown),
|
unknown => anyhow::bail!("unknown operation '{}'", unknown),
|
||||||
},
|
},
|
||||||
Value(val) if op == Some(OperationName::Redact) => {
|
Value(val) if op == Some(OperationName::Redact) => {
|
||||||
let rev = term::args::oid(&val)?;
|
let rev = term::args::rev(&val)?;
|
||||||
revision_id = Some(rev);
|
revision_id = Some(rev);
|
||||||
}
|
}
|
||||||
Value(val)
|
Value(val)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ use anyhow::anyhow;
|
||||||
|
|
||||||
use radicle::cob::{self, issue, patch};
|
use radicle::cob::{self, issue, patch};
|
||||||
use radicle::crypto;
|
use radicle::crypto;
|
||||||
use radicle::git::RefString;
|
use radicle::git::{Oid, RefString};
|
||||||
use radicle::node::{Address, Alias};
|
use radicle::node::{Address, Alias};
|
||||||
use radicle::prelude::{Did, Id, NodeId};
|
use radicle::prelude::{Did, Id, NodeId};
|
||||||
|
|
||||||
|
|
@ -154,11 +154,11 @@ pub fn rev(val: &OsString) -> anyhow::Result<Rev> {
|
||||||
Ok(Rev::from(s.to_owned()))
|
Ok(Rev::from(s.to_owned()))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn oid(val: &OsString) -> anyhow::Result<Rev> {
|
pub fn oid(val: &OsString) -> anyhow::Result<Oid> {
|
||||||
let s = string(val);
|
let s = string(val);
|
||||||
let _ = radicle::git::Oid::from_str(&s).map_err(|_| anyhow!("invalid git oid '{s}'"))?;
|
let o = radicle::git::Oid::from_str(&s).map_err(|_| anyhow!("invalid git oid '{s}'"))?;
|
||||||
|
|
||||||
Ok(Rev::from(s))
|
Ok(o)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn alias(val: &OsString) -> anyhow::Result<Alias> {
|
pub fn alias(val: &OsString) -> anyhow::Result<Alias> {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue