aboutsummaryrefslogtreecommitdiffstats
path: root/modules/git/tree_entry_mode.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/git/tree_entry_mode.go')
-rw-r--r--modules/git/tree_entry_mode.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/modules/git/tree_entry_mode.go b/modules/git/tree_entry_mode.go
index 1193bec4f1..d815a8bc2e 100644
--- a/modules/git/tree_entry_mode.go
+++ b/modules/git/tree_entry_mode.go
@@ -30,6 +30,31 @@ func (e EntryMode) String() string {
return strconv.FormatInt(int64(e), 8)
}
+// IsSubModule if the entry is a sub module
+func (e EntryMode) IsSubModule() bool {
+ return e == EntryModeCommit
+}
+
+// IsDir if the entry is a sub dir
+func (e EntryMode) IsDir() bool {
+ return e == EntryModeTree
+}
+
+// IsLink if the entry is a symlink
+func (e EntryMode) IsLink() bool {
+ return e == EntryModeSymlink
+}
+
+// IsRegular if the entry is a regular file
+func (e EntryMode) IsRegular() bool {
+ return e == EntryModeBlob
+}
+
+// IsExecutable if the entry is an executable file (not necessarily binary)
+func (e EntryMode) IsExecutable() bool {
+ return e == EntryModeExec
+}
+
func ParseEntryMode(mode string) (EntryMode, error) {
switch mode {
case "000000":