aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--object/tree/mode.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/object/tree/mode.go b/object/tree/mode.go
index b1cbc6bc..c0bb4d75 100644
--- a/object/tree/mode.go
+++ b/object/tree/mode.go
@@ -10,3 +10,15 @@ const (
FileModeSymlink FileMode = 0o120000
FileModeGitlink FileMode = 0o160000
)
+
+// IsBlobLike reports whether mode names one blob-like tree entry kind.
+//
+// Blob-like entries store blob object IDs as their targets.
+func (mode FileMode) IsBlobLike() bool {
+ switch mode {
+ case FileModeRegular, FileModeExecutable, FileModeSymlink:
+ return true
+ default:
+ return false
+ }
+}