Fast implementation of Git in pure Go codeberg.org/lindenii/furgit
git go
6
fork

Configure Feed

Select the types of activity you want to include in your feed.

object/tree: Regular files and types

Runxi Yu fb955caa 41212907

+30 -6
+2 -1
object/tree/mode_details.go
··· 1 1 package tree 2 2 3 3 type fileModeDetails struct { 4 - isBlobLike bool 4 + isBlobLike bool 5 + isRegularFile bool 5 6 } 6 7 7 8 func (mode FileMode) details() fileModeDetails {
+12
object/tree/mode_has_same_type.go
··· 1 + package tree 2 + 3 + // HasSameType reports whether mode and other describe the same tree entry kind. 4 + // 5 + // Regular files and executable files have the same type for diff-status purposes. 6 + func (mode FileMode) HasSameType(other FileMode) bool { 7 + if mode == other { 8 + return true 9 + } 10 + 11 + return mode.details().isRegularFile && other.details().isRegularFile 12 + }
+6
object/tree/mode_is_regular_file.go
··· 1 + package tree 2 + 3 + // IsRegularFile reports whether mode names one regular-file variant. 4 + func (mode FileMode) IsRegularFile() bool { 5 + return mode.details().isRegularFile 6 + }
+10 -5
object/tree/mode_table.go
··· 2 2 3 3 var fileModeTable = map[FileMode]fileModeDetails{ //nolint:gochecknoglobals 4 4 FileModeDir: { 5 - isBlobLike: false, 5 + isBlobLike: false, 6 + isRegularFile: false, 6 7 }, 7 8 FileModeRegular: { 8 - isBlobLike: true, 9 + isBlobLike: true, 10 + isRegularFile: true, 9 11 }, 10 12 FileModeExecutable: { 11 - isBlobLike: true, 13 + isBlobLike: true, 14 + isRegularFile: true, 12 15 }, 13 16 FileModeSymlink: { 14 - isBlobLike: true, 17 + isBlobLike: true, 18 + isRegularFile: false, 15 19 }, 16 20 FileModeGitlink: { 17 - isBlobLike: false, 21 + isBlobLike: false, 22 + isRegularFile: false, 18 23 }, 19 24 }