Commit Diff


commit - 069f84d5cf33b800b44c6c2507c1730df9ea5446
commit + f8e900f3dec31fd1b679afff508f7c5e33d73956
blob - a4853d1c44dc55fe3b7d7692fc1b6a493db06a96
blob + 57706b257defb1d2c159334cbf451d10288dbe2d
--- got/got.c
+++ got/got.c
@@ -388,7 +388,6 @@ print_commits(struct got_object *root_obj, struct got_
 	if (err)
 		return err;
 	do {
-		struct got_object *obj;
 		struct got_commit_object *commit;
 		struct got_object_id *id;
 
@@ -405,15 +404,10 @@ print_commits(struct got_object *root_obj, struct got_
 		}
 		if (id == NULL)
 			break;
-		err = got_object_open(&obj, repo, id);
-		if (err)
-			return err;
 
-		err = got_object_commit_open(&commit, repo, obj);
-		got_object_close(obj);
+		err = got_object_open_as_commit(&commit, repo, id);
 		if (err)
 			return err;
-
 		err = print_commit(commit, id, repo, show_patch, verbose);
 		got_object_commit_close(commit);
 		if (err || (limit && --limit == 0))