1use girt::{ObjectIdPrefix, Repository};
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4 let mut args = std::env::args().skip(1);
5 let path = args
6 .next()
7 .ok_or("usage: short_ids <repository> <hex-prefix>")?;
8 let text = args.next().ok_or("missing hexadecimal prefix")?;
9
10 let repository = Repository::discover(path)?;
11 let objects = repository.objects()?;
12
13 let prefix = ObjectIdPrefix::from_hex(repository.object_format(), &text)?;
14 let id = objects.resolve_prefix(prefix)?;
15 println!("{}", objects.abbreviate(id, objects.auto_abbrev_len())?);
16 Ok(())
17}