@@ -13,23 +13,21 @@ import (
13
13
14
14
oldcmds "github.com/ipfs/go-ipfs/commands"
15
15
lgc "github.com/ipfs/go-ipfs/commands/legacy"
16
- core "github.com/ipfs/go-ipfs/core"
17
- cmdenv "github.com/ipfs/go-ipfs/core/commands/cmdenv"
18
- e "github.com/ipfs/go-ipfs/core/commands/e"
19
- ft "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs"
20
- uio "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs/io"
21
- path "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path"
22
- resolver "gx/ipfs/QmX7uSbkNz76yNwBhuwYwRbhihLnJqM73VTCjS3UMJud9A/go-path/resolver"
23
- dag "gx/ipfs/QmXv5mwmQ74r4aiHcNeQ4GAmfB3aWJuqaE4WyDfDfvkgLM/go-merkledag"
24
- bservice "gx/ipfs/Qma2KhbQarYTkmSJAeaMGRAg8HAXAhEWK8ge4SReG7ZSD3/go-blockservice"
16
+ "github.com/ipfs/go-ipfs/core"
17
+ "github.com/ipfs/go-ipfs/core/commands/cmdenv"
18
+ "github.com/ipfs/go-ipfs/core/commands/e"
19
+ "github.com/ipfs/go-ipfs/core/coreapi/interface"
25
20
26
- humanize "gx/ipfs/QmPSBJL4momYnE7DcUyk2DVhD6rH488ZmHBGLbxNdhU44K/go-humanize"
27
- cid "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
28
- cmds "gx/ipfs/QmPXR4tNdLbp8HsZiPMjpsgqphX9Vhw2J6Jh5MKH2ovW3D/go-ipfs-cmds"
21
+ ft "gx/ipfs/QmPL8bYtbACcSFFiSr4s2du7Na382NxRADR8hC7D9FkEA2/go-unixfs"
22
+ "gx/ipfs/QmPSBJL4momYnE7DcUyk2DVhD6rH488ZmHBGLbxNdhU44K/go-humanize"
23
+ "gx/ipfs/QmPSQnBKM9g7BaUcZCvswUJVscQ1ipjmwxN5PXCjkp9EQ7/go-cid"
24
+ "gx/ipfs/QmPXR4tNdLbp8HsZiPMjpsgqphX9Vhw2J6Jh5MKH2ovW3D/go-ipfs-cmds"
29
25
mh "gx/ipfs/QmPnFwZ2JXKnXgMw8CdBPxn7FWh6LLdjUjxV1fKHuJnkr8/go-multihash"
30
26
logging "gx/ipfs/QmRREK2CAZ5Re2Bd9zZFG6FeYDppUWt5cMgsoUEp3ktgSr/go-log"
31
- mfs "gx/ipfs/QmRkrpnhZqDxTxwGCsDbuZMr7uCFZHH6SGfrcjgEQwxF3t/go-mfs"
32
- cmdkit "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
27
+ "gx/ipfs/QmRkrpnhZqDxTxwGCsDbuZMr7uCFZHH6SGfrcjgEQwxF3t/go-mfs"
28
+ "gx/ipfs/QmSP88ryZkHSRn1fnngAaV2Vcn63WUJzAavnRM9CVdU1Ky/go-ipfs-cmdkit"
29
+ dag "gx/ipfs/QmXv5mwmQ74r4aiHcNeQ4GAmfB3aWJuqaE4WyDfDfvkgLM/go-merkledag"
30
+ bservice "gx/ipfs/Qma2KhbQarYTkmSJAeaMGRAg8HAXAhEWK8ge4SReG7ZSD3/go-blockservice"
33
31
offline "gx/ipfs/QmcRC35JF2pJQneAxa5LdQBQRumWggccWErogSrCkS1h8T/go-ipfs-exchange-offline"
34
32
ipld "gx/ipfs/QmdDXJs4axxefSPgK6Y1QhpJWKuDPnGJiqgq4uncb4rFHL/go-ipld-format"
35
33
)
@@ -120,6 +118,11 @@ var filesStatCmd = &cmds.Command{
120
118
return err
121
119
}
122
120
121
+ api , err := cmdenv .GetApi (env )
122
+ if err != nil {
123
+ return err
124
+ }
125
+
123
126
path , err := checkPath (req .Arguments [0 ])
124
127
if err != nil {
125
128
return err
@@ -138,7 +141,7 @@ var filesStatCmd = &cmds.Command{
138
141
dagserv = node .DAG
139
142
}
140
143
141
- nd , err := getNodeFromPath (req .Context , node , dagserv , path )
144
+ nd , err := getNodeFromPath (req .Context , node , api , path )
142
145
if err != nil {
143
146
return err
144
147
}
@@ -305,6 +308,12 @@ var filesCpCmd = &oldcmds.Command{
305
308
return
306
309
}
307
310
311
+ api , err := req .InvocContext ().GetApi ()
312
+ if err != nil {
313
+ res .SetError (err , cmdkit .ErrNormal )
314
+ return
315
+ }
316
+
308
317
flush , _ , _ := req .Option ("flush" ).Bool ()
309
318
310
319
src , err := checkPath (req .Arguments ()[0 ])
@@ -324,7 +333,7 @@ var filesCpCmd = &oldcmds.Command{
324
333
dst += gopath .Base (src )
325
334
}
326
335
327
- nd , err := getNodeFromPath (req .Context (), node , node . DAG , src )
336
+ nd , err := getNodeFromPath (req .Context (), node , api , src )
328
337
if err != nil {
329
338
res .SetError (fmt .Errorf ("cp: cannot get node from path %s: %s" , src , err ), cmdkit .ErrNormal )
330
339
return
@@ -348,20 +357,15 @@ var filesCpCmd = &oldcmds.Command{
348
357
},
349
358
}
350
359
351
- func getNodeFromPath (ctx context.Context , node * core.IpfsNode , dagservice ipld. DAGService , p string ) (ipld.Node , error ) {
360
+ func getNodeFromPath (ctx context.Context , node * core.IpfsNode , api iface. CoreAPI , p string ) (ipld.Node , error ) {
352
361
switch {
353
362
case strings .HasPrefix (p , "/ipfs/" ):
354
- np , err := path .ParsePath (p )
363
+ np , err := iface .ParsePath (p )
355
364
if err != nil {
356
365
return nil , err
357
366
}
358
367
359
- resolver := & resolver.Resolver {
360
- DAG : dagservice ,
361
- ResolveOnce : uio .ResolveUnixfsOnce ,
362
- }
363
-
364
- return core .Resolve (ctx , node .Namesys , resolver , np )
368
+ return api .ResolveNode (ctx , np )
365
369
default :
366
370
fsn , err := mfs .Lookup (node .FilesRoot , p )
367
371
if err != nil {
0 commit comments