MCPcopy Index your code
hub / github.com/OpenListTeam/OpenList / List

Method List

drivers/github/driver.go:134–166  ·  view source on GitHub ↗
(ctx context.Context, dir model.Obj, args model.ListArgs)

Source from the content-addressed store, hash-verified

132}
133
134func (d *Github) List(ctx context.Context, dir model.Obj, args model.ListArgs) ([]model.Obj, error) {
135 obj, err := d.get(dir.GetPath())
136 if err != nil {
137 return nil, err
138 }
139 if obj.Entries == nil {
140 return nil, errs.NotFolder
141 }
142 if len(obj.Entries) >= 1000 {
143 tree, err := d.getTree(obj.Sha)
144 if err != nil {
145 return nil, err
146 }
147 if tree.Truncated {
148 return nil, fmt.Errorf("tree %s is truncated", dir.GetPath())
149 }
150 ret := make([]model.Obj, 0, len(tree.Trees))
151 for _, t := range tree.Trees {
152 if t.Path != ".gitkeep" {
153 ret = append(ret, t.toModelObj())
154 }
155 }
156 return ret, nil
157 } else {
158 ret := make([]model.Obj, 0, len(obj.Entries))
159 for _, entry := range obj.Entries {
160 if entry.Name != ".gitkeep" {
161 ret = append(ret, entry.toModelObj())
162 }
163 }
164 return ret, nil
165 }
166}
167
168func (d *Github) Link(ctx context.Context, file model.Obj, args model.LinkArgs) (*model.Link, error) {
169 obj, err := d.get(file.GetPath())

Callers

nothing calls this directly

Calls 4

getMethod · 0.95
getTreeMethod · 0.95
GetPathMethod · 0.65
toModelObjMethod · 0.45

Tested by

no test coverage detected