aboutsummaryrefslogtreecommitdiffstats
path: root/services/gitdiff/gitdiff.go
diff options
context:
space:
mode:
authordelvh <dev.lh@web.de>2023-08-06 23:15:01 +0200
committerGitHub <noreply@github.com>2023-08-06 23:15:01 +0200
commit39cbca0f952ecdd1b985f20b9dd9fef4d621f99e (patch)
tree49fca2c44a8670e36768632037f71bd495d51e11 /services/gitdiff/gitdiff.go
parent9aadc25bc14d822099a0ea2b81c0abe126fae5f2 (diff)
downloadgitea-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 ![grafik](https://github.com/go-gitea/gitea/assets/51889757/9a964bf6-10fd-40a6-aeb2-ac8f437f8c32) ## After ![grafik](https://github.com/go-gitea/gitea/assets/51889757/84573cb9-55b6-4dde-9866-95f71b657554) or when the mode actually changed: ![grafik](https://github.com/go-gitea/gitea/assets/51889757/0f327538-ebdc-40e7-8c99-f9e21b67f638)
Diffstat (limited to 'services/gitdiff/gitdiff.go')
-rw-r--r--services/gitdiff/gitdiff.go17
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 {