aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorTeddy Wing2020-09-17 01:33:27 +0200
committerTeddy Wing2020-09-17 01:33:27 +0200
commit9e910646a5c60007f10e8ea69a7120d50b4868e7 (patch)
treee549037f2036777b8a1e73e6d38e7010194b34b1 /src/main.rs
parent0c0072f1cd16850c648bd5ccd694971e4e24f5b4 (diff)
downloadgit-todo-9e910646a5c60007f10e8ea69a7120d50b4868e7.tar.bz2
main.rs: Fix ref parsing
Turns out `refname_to_id()` wasn't the right function to get a reference/oid/object from a ref name. Use `revparse_single()` instead to get a usable reference object. Add a test for custom diff bases.
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs
index 780ab62..4d810b0 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -44,15 +44,15 @@ fn main() {
// TODO: error if more than one ref given
let refname = &matches.free[0];
- let oid = match repo.refname_to_id(&refname) {
- Ok(oid) => oid,
+ let object = match repo.revparse_single(&refname) {
+ Ok(object) => object,
Err(e) => {
eprintln(&e);
process::exit(exitcode::USAGE);
},
};
- match repo.find_tree(oid) {
+ match object.peel_to_tree() {
Ok(t) => t,
Err(e) => {
eprintln(&e);