Use path not filepath in template filenames (#21993)
Paths in git are always separated by `/` not `\` - therefore we should `path` and not `filepath` Fix #21987 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
parent
f0bd219a5e
commit
64973cf18f
|
@ -6,7 +6,7 @@ package template
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"path/filepath"
|
"path"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"code.gitea.io/gitea/modules/git"
|
"code.gitea.io/gitea/modules/git"
|
||||||
|
@ -43,7 +43,7 @@ func Unmarshal(filename string, content []byte) (*api.IssueTemplate, error) {
|
||||||
|
|
||||||
// UnmarshalFromEntry parses out a valid template from the blob in entry
|
// UnmarshalFromEntry parses out a valid template from the blob in entry
|
||||||
func UnmarshalFromEntry(entry *git.TreeEntry, dir string) (*api.IssueTemplate, error) {
|
func UnmarshalFromEntry(entry *git.TreeEntry, dir string) (*api.IssueTemplate, error) {
|
||||||
return unmarshalFromEntry(entry, filepath.Join(dir, entry.Name()))
|
return unmarshalFromEntry(entry, path.Join(dir, entry.Name())) // Filepaths in Git are ALWAYS '/' separated do not use filepath here
|
||||||
}
|
}
|
||||||
|
|
||||||
// UnmarshalFromCommit parses out a valid template from the commit
|
// UnmarshalFromCommit parses out a valid template from the commit
|
||||||
|
@ -108,7 +108,7 @@ func unmarshal(filename string, content []byte) (*api.IssueTemplate, error) {
|
||||||
// It could be a valid markdown with two horizontal lines, or an invalid markdown with wrong metadata.
|
// It could be a valid markdown with two horizontal lines, or an invalid markdown with wrong metadata.
|
||||||
|
|
||||||
it.Content = string(content)
|
it.Content = string(content)
|
||||||
it.Name = filepath.Base(it.FileName)
|
it.Name = path.Base(it.FileName) // paths in Git are always '/' separated - do not use filepath!
|
||||||
it.About, _ = util.SplitStringAtByteN(it.Content, 80)
|
it.About, _ = util.SplitStringAtByteN(it.Content, 80)
|
||||||
} else {
|
} else {
|
||||||
it.Content = templateBody
|
it.Content = templateBody
|
||||||
|
|
Loading…
Reference in New Issue