ls: resolve symlinks
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Mar 5, 2019 at 11:15 UTC
c6d85c2a7deb8e776af4af046c16f7db6d1dfb43
2 files changed
+5
-2
core/commands/ls.go
+4
-2
@@ -22,6 +22,7 @@ type LsLink struct {
22
Name, Hash string
23
Size uint64
24
Type unixfs_pb.Data_DataType
25
+ Target string
26
}
27
28
// LsObject is an element of LsOutput
@@ -159,8 +160,9 @@ The JSON output contains type information.
160
Name: link.Name,
161
Hash: enc.Encode(link.Cid),
162
162
- Size: link.Size,
163
- Type: ftype,
163
+ Size: link.Size,
164
+ Type: ftype,
165
+ Target: link.Target,
166
}
167
if err := processLink(paths[i], lsLink); err != nil {
168
return err
core/coreapi/unixfs.go
+1
@@ -209,6 +209,7 @@ func (api *UnixfsAPI) processLink(ctx context.Context, linkres ft.LinkResult, se
209
lnk.Type = coreiface.TDirectory
210
case ft.TSymlink:
211
lnk.Type = coreiface.TSymlink
212
+ lnk.Target = string(d.Data())
213
}
214
lnk.Size = d.FileSize()
215
}