shithub: furgit

Download patch

ref: c0c1774390a56bcda112c6ec3d00344f7368659a
parent: 674ee62a9556b965948b51bf5c33f2a16a0bca5e
author: Runxi Yu <runxiyu@umich.edu>
date: Thu Mar 19 13:46:23 EDT 2026

object/resolve: Exhaustive

--- a/object/resolve/peel_to_blob_id.go
+++ b/object/resolve/peel_to_blob_id.go
@@ -25,6 +25,13 @@
 			}
 
 			id = tag.Object().Target
+		case objecttype.TypeInvalid,
+			objecttype.TypeCommit,
+			objecttype.TypeTree,
+			objecttype.TypeFuture,
+			objecttype.TypeOfsDelta,
+			objecttype.TypeRefDelta:
+			return objectid.ObjectID{}, fmt.Errorf("object/resolve: expected blob-ish object %s, got %v", id, ty)
 		default:
 			return objectid.ObjectID{}, fmt.Errorf("object/resolve: expected blob-ish object %s, got %v", id, ty)
 		}
--- a/object/resolve/peel_to_commit_id.go
+++ b/object/resolve/peel_to_commit_id.go
@@ -25,6 +25,13 @@
 			}
 
 			id = tag.Object().Target
+		case objecttype.TypeInvalid,
+			objecttype.TypeTree,
+			objecttype.TypeBlob,
+			objecttype.TypeFuture,
+			objecttype.TypeOfsDelta,
+			objecttype.TypeRefDelta:
+			return objectid.ObjectID{}, fmt.Errorf("object/resolve: expected commit-ish object %s, got %v", id, ty)
 		default:
 			return objectid.ObjectID{}, fmt.Errorf("object/resolve: expected commit-ish object %s, got %v", id, ty)
 		}
--- a/object/resolve/peel_to_tree_id.go
+++ b/object/resolve/peel_to_tree_id.go
@@ -33,6 +33,12 @@
 			}
 
 			id = tag.Object().Target
+		case objecttype.TypeInvalid,
+			objecttype.TypeBlob,
+			objecttype.TypeFuture,
+			objecttype.TypeOfsDelta,
+			objecttype.TypeRefDelta:
+			return objectid.ObjectID{}, fmt.Errorf("object/resolve: expected tree-ish object %s, got %v", id, ty)
 		default:
 			return objectid.ObjectID{}, fmt.Errorf("object/resolve: expected tree-ish object %s, got %v", id, ty)
 		}
--