Selaa lähdekoodia

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)
tags/v1.20.3
delvh 9 kuukautta sitten
vanhempi
commit
39cbca0f95
No account linked to committer's email address
3 muutettua tiedostoa jossa 30 lisäystä ja 2 poistoa
  1. 9
    0
      options/locale/locale_en-US.ini
  2. 17
    0
      services/gitdiff/gitdiff.go
  3. 4
    2
      templates/repo/diff/box.tmpl

+ 9
- 0
options/locale/locale_en-US.ini Näytä tiedosto

@@ -3474,3 +3474,12 @@ need_approval_desc = Need approval to run workflows for fork pull request.
type-1.display_name = Individual Project
type-2.display_name = Repository Project
type-3.display_name = Organization Project

[git.filemode]
changed_filemode = %[1]s → %[2]s
# Ordered by git filemode value, ascending. E.g. directory has "040000", normal file has "100644", …
directory = Directory
normal_file = Normal file
executable_file = Executable file
symbolic_link = Symbolic link
submodule = Submodule

+ 17
- 0
services/gitdiff/gitdiff.go Näytä tiedosto

@@ -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 {

+ 4
- 2
templates/repo/diff/box.tmpl Näytä tiedosto

@@ -110,9 +110,11 @@
<span class="ui label">{{$.locale.Tr "repo.diff.vendored"}}</span>
{{end}}
{{if and $file.Mode $file.OldMode}}
<span class="gt-ml-4 gt-mono">{{$file.OldMode}} &rarr; {{$file.Mode}}</span>
{{$old := $.locale.Tr ($file.ModeTranslationKey $file.OldMode)}}
{{$new := $.locale.Tr ($file.ModeTranslationKey $file.Mode)}}
<span class="gt-ml-4 gt-mono">{{$.locale.Tr "git.filemode.changed_filemode" $old $new}}</span>
{{else if $file.Mode}}
<span class="gt-ml-4 gt-mono">{{$file.Mode}}</span>
<span class="gt-ml-4 gt-mono">{{$.locale.Tr ($file.ModeTranslationKey $file.Mode)}}</span>
{{end}}
</div>
<div class="diff-file-header-actions gt-df gt-ac gt-gap-2 gt-fw">

Loading…
Peruuta
Tallenna