Skip to content

Commit 764931a

Browse files
committed
fix lint
1 parent df6ac1a commit 764931a

File tree

5 files changed

+34
-26
lines changed

5 files changed

+34
-26
lines changed

modules/git/parse.go

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,20 @@ import (
88
"fmt"
99
"strconv"
1010
"strings"
11+
12+
"code.gitea.io/gitea/modules/optional"
1113
)
1214

1315
var sepSpace = []byte{' '}
1416

15-
func parseLsTreeLine(line []byte) (*TreeEntry, error) {
17+
type LsTreeEntry struct {
18+
ID ObjectID
19+
EntryMode EntryMode
20+
Name string
21+
Size optional.Option[int64]
22+
}
23+
24+
func parseLsTreeLine(line []byte) (*LsTreeEntry, error) {
1625
// expect line to be of the form:
1726
// <mode> <type> <sha> <space-padded-size>\t<filename>
1827
// <mode> <type> <sha>\t<filename>
@@ -23,7 +32,7 @@ func parseLsTreeLine(line []byte) (*TreeEntry, error) {
2332
return nil, fmt.Errorf("invalid ls-tree output (no tab): %q", line)
2433
}
2534

26-
entry := new(TreeEntry)
35+
entry := new(LsTreeEntry)
2736

2837
entryAttrs := line[:posTab]
2938
entryName := line[posTab+1:]
@@ -33,21 +42,21 @@ func parseLsTreeLine(line []byte) (*TreeEntry, error) {
3342
entryObjectID, entryAttrs, _ := bytes.Cut(entryAttrs, sepSpace)
3443
if len(entryAttrs) > 0 {
3544
entrySize := entryAttrs // the last field is the space-padded-size
36-
entry.size, _ = strconv.ParseInt(strings.TrimSpace(string(entrySize)), 10, 64)
37-
entry.sized = true
45+
size, _ := strconv.ParseInt(strings.TrimSpace(string(entrySize)), 10, 64)
46+
entry.Size = optional.Some(size)
3847
}
3948

4049
switch string(entryMode) {
4150
case "100644":
42-
entry.entryMode = EntryModeBlob
51+
entry.EntryMode = EntryModeBlob
4352
case "100755":
44-
entry.entryMode = EntryModeExec
53+
entry.EntryMode = EntryModeExec
4554
case "120000":
46-
entry.entryMode = EntryModeSymlink
55+
entry.EntryMode = EntryModeSymlink
4756
case "160000":
48-
entry.entryMode = EntryModeCommit
57+
entry.EntryMode = EntryModeCommit
4958
case "040000", "040755": // git uses 040000 for tree object, but some users may get 040755 for unknown reasons
50-
entry.entryMode = EntryModeTree
59+
entry.EntryMode = EntryModeTree
5160
default:
5261
return nil, fmt.Errorf("unknown type: %v", string(entryMode))
5362
}
@@ -58,12 +67,12 @@ func parseLsTreeLine(line []byte) (*TreeEntry, error) {
5867
}
5968

6069
if len(entryName) > 0 && entryName[0] == '"' {
61-
entry.name, err = strconv.Unquote(string(entryName))
70+
entry.Name, err = strconv.Unquote(string(entryName))
6271
if err != nil {
6372
return nil, fmt.Errorf("invalid ls-tree output (invalid name): %q, err: %w", line, err)
6473
}
6574
} else {
66-
entry.name = string(entryName)
75+
entry.Name = string(entryName)
6776
}
6877
return entry, nil
6978
}

modules/git/parse_nogogit.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,18 @@ func parseTreeEntries(data []byte, ptree *Tree) ([]*TreeEntry, error) {
3131
}
3232

3333
line := data[pos:posEnd]
34-
entry, err := parseLsTreeLine(line)
34+
lsTreeLine, err := parseLsTreeLine(line)
3535
if err != nil {
3636
return nil, err
3737
}
38-
entry.ptree = ptree
39-
38+
entry := &TreeEntry{
39+
ptree: ptree,
40+
ID: lsTreeLine.ID,
41+
entryMode: lsTreeLine.EntryMode,
42+
name: lsTreeLine.Name,
43+
size: lsTreeLine.Size.Value(),
44+
sized: lsTreeLine.Size.Has(),
45+
}
4046
pos = posEnd + 1
4147
entries = append(entries, entry)
4248
}

modules/git/submodule.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ func GetTemplateSubmoduleCommits(ctx context.Context, repoPath string) (submodul
3838
cancel()
3939
return err
4040
}
41-
if entry.IsSubModule() {
42-
submoduleCommits = append(submoduleCommits, TemplateSubmoduleCommit{Path: entry.Name(), Commit: entry.ID.String()})
41+
if entry.EntryMode == EntryModeCommit {
42+
submoduleCommits = append(submoduleCommits, TemplateSubmoduleCommit{Path: entry.Name, Commit: entry.ID.String()})
4343
}
4444
}
4545
return scanner.Err()

modules/git/tree_blob_nogogit.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ func (t *Tree) GetTreeEntryByPath(relpath string) (*TreeEntry, error) {
1717
ptree: t,
1818
ID: t.ID,
1919
name: "",
20-
fullName: "",
2120
entryMode: EntryModeTree,
2221
}, nil
2322
}

modules/git/tree_entry_nogogit.go

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,23 +9,17 @@ import "code.gitea.io/gitea/modules/log"
99

1010
// TreeEntry the leaf in the git tree
1111
type TreeEntry struct {
12-
ID ObjectID
13-
12+
ID ObjectID
1413
ptree *Tree
1514

1615
entryMode EntryMode
1716
name string
18-
19-
size int64
20-
sized bool
21-
fullName string
17+
size int64
18+
sized bool
2219
}
2320

2421
// Name returns the name of the entry
2522
func (te *TreeEntry) Name() string {
26-
if te.fullName != "" {
27-
return te.fullName
28-
}
2923
return te.name
3024
}
3125

0 commit comments

Comments
 (0)