Diff
1diff --git a/server/backend/utils.go b/server/backend/utils.go
2index ed68a88dd174521eccf8863feecc94154e0df44f..c6cdff4db8d7d4d36b90d75e53235a95a369731e 100644
3--- a/server/backend/utils.go
4+++ b/server/backend/utils.go
5@@ -29,12 +29,24 @@ func LatestFile(r Repository, pattern string) (string, string, error) {
6 return "", "", err
7 }
8 for _, e := range ents {
9- fp := filepath.Join(dir, e.Name())
10- if e.IsTree() {
11+ te := e
12+ fp := filepath.Join(dir, te.Name())
13+ if te.IsTree() {
14 continue
15 }
16 if g.Match(fp) {
17- bts, err := e.Contents()
18+ if te.IsSymlink() {
19+ bts, err := te.Contents()
20+ if err != nil {
21+ return "", "", err
22+ }
23+ fp = string(bts)
24+ te, err = t.TreeEntry(fp)
25+ if err != nil {
26+ return "", "", err
27+ }
28+ }
29+ bts, err := te.Contents()
30 if err != nil {
31 return "", "", err
32 }