diff options
author | delvh <dev.lh@web.de> | 2023-08-06 23:15:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-06 23:15:01 +0200 |
commit | 39cbca0f952ecdd1b985f20b9dd9fef4d621f99e (patch) | |
tree | 49fca2c44a8670e36768632037f71bd495d51e11 /services/gitdiff/gitdiff.go | |
parent | 9aadc25bc14d822099a0ea2b81c0abe126fae5f2 (diff) | |
download | gitea-39cbca0f952ecdd1b985f20b9dd9fef4d621f99e.tar.gz gitea-39cbca0f952ecdd1b985f20b9dd9fef4d621f99e.zip |
Display human-readable text instead of cryptic filemodes (#26352) (#26358)
Backport #26352
Now, you don't need to be a git expert anymore to know what these numbers mean.
## Before

## After

or when the mode actually changed:

Diffstat (limited to 'services/gitdiff/gitdiff.go')
-rw-r--r-- | services/gitdiff/gitdiff.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/services/gitdiff/gitdiff.go b/services/gitdiff/gitdiff.go index 9adf3b9400..68f0e7a7ed 100644 --- a/services/gitdiff/gitdiff.go +++ b/services/gitdiff/gitdiff.go @@ -427,6 +427,23 @@ func (diffFile *DiffFile) ShouldBeHidden() bool { return diffFile.IsGenerated || diffFile.IsViewed } +func (diffFile *DiffFile) ModeTranslationKey(mode string) string { + switch mode { + case "040000": + return "git.filemode.directory" + case "100644": + return "git.filemode.normal_file" + case "100755": + return "git.filemode.executable_file" + case "120000": + return "git.filemode.symbolic_link" + case "160000": + return "git.filemode.submodule" + default: + return mode + } +} + func getCommitFileLineCount(commit *git.Commit, filePath string) int { blob, err := commit.GetBlobByPath(filePath) if err != nil { |