Unverified 提交 27ae4fde 作者: Steven Allen 提交者: GitHub

Merge pull request #6102 from ipfs/feat/mfs-flush-cid

 Return CID from 'ipfs files flush' 
...@@ -347,7 +347,7 @@ var filesCpCmd = &cmds.Command{ ...@@ -347,7 +347,7 @@ var filesCpCmd = &cmds.Command{
} }
if flush { if flush {
err := mfs.FlushPath(req.Context, nd.FilesRoot, dst) _, err := mfs.FlushPath(req.Context, nd.FilesRoot, dst)
if err != nil { if err != nil {
return fmt.Errorf("cp: cannot flush the created file %s: %s", dst, err) return fmt.Errorf("cp: cannot flush the created file %s: %s", dst, err)
} }
...@@ -649,7 +649,7 @@ Example: ...@@ -649,7 +649,7 @@ Example:
err = mfs.Mv(nd.FilesRoot, src, dst) err = mfs.Mv(nd.FilesRoot, src, dst)
if err == nil && flush { if err == nil && flush {
err = mfs.FlushPath(req.Context, nd.FilesRoot, "/") _, err = mfs.FlushPath(req.Context, nd.FilesRoot, "/")
} }
return err return err
}, },
...@@ -856,6 +856,10 @@ Examples: ...@@ -856,6 +856,10 @@ Examples:
}, },
} }
type flushRes struct {
Cid string
}
var filesFlushCmd = &cmds.Command{ var filesFlushCmd = &cmds.Command{
Helptext: cmdkit.HelpText{ Helptext: cmdkit.HelpText{
Tagline: "Flush a given path's data to disk.", Tagline: "Flush a given path's data to disk.",
...@@ -873,13 +877,24 @@ are run with the '--flush=false'. ...@@ -873,13 +877,24 @@ are run with the '--flush=false'.
return err return err
} }
enc, err := cmdenv.GetCidEncoder(req)
if err != nil {
return err
}
path := "/" path := "/"
if len(req.Arguments) > 0 { if len(req.Arguments) > 0 {
path = req.Arguments[0] path = req.Arguments[0]
} }
return mfs.FlushPath(req.Context, nd.FilesRoot, path) n, err := mfs.FlushPath(req.Context, nd.FilesRoot, path)
if err != nil {
return err
}
return cmds.EmitOnce(res, &flushRes{enc.Encode(n.Cid())})
}, },
Type: flushRes{},
} }
var filesChcidCmd = &cmds.Command{ var filesChcidCmd = &cmds.Command{
...@@ -916,7 +931,7 @@ Change the cid version or hash function of the root node of a given path. ...@@ -916,7 +931,7 @@ Change the cid version or hash function of the root node of a given path.
err = updatePath(nd.FilesRoot, path, prefix) err = updatePath(nd.FilesRoot, path, prefix)
if err == nil && flush { if err == nil && flush {
err = mfs.FlushPath(req.Context, nd.FilesRoot, path) _, err = mfs.FlushPath(req.Context, nd.FilesRoot, path)
} }
return err return err
}, },
......
...@@ -49,7 +49,7 @@ require ( ...@@ -49,7 +49,7 @@ require (
github.com/ipfs/go-merkledag v0.0.2 github.com/ipfs/go-merkledag v0.0.2
github.com/ipfs/go-metrics-interface v0.0.1 github.com/ipfs/go-metrics-interface v0.0.1
github.com/ipfs/go-metrics-prometheus v0.0.1 github.com/ipfs/go-metrics-prometheus v0.0.1
github.com/ipfs/go-mfs v0.0.3 github.com/ipfs/go-mfs v0.0.4
github.com/ipfs/go-path v0.0.2 github.com/ipfs/go-path v0.0.2
github.com/ipfs/go-unixfs v0.0.2 github.com/ipfs/go-unixfs v0.0.2
github.com/ipfs/go-verifcid v0.0.1 github.com/ipfs/go-verifcid v0.0.1
......
...@@ -188,6 +188,8 @@ github.com/ipfs/go-metrics-prometheus v0.0.1 h1:5iY3WO20WFSOErZyyYemHsbGm0V+a8YN ...@@ -188,6 +188,8 @@ github.com/ipfs/go-metrics-prometheus v0.0.1 h1:5iY3WO20WFSOErZyyYemHsbGm0V+a8YN
github.com/ipfs/go-metrics-prometheus v0.0.1/go.mod h1:ELLU99AQQNi+zX6GCGm2lAgnzdSH3u5UVlCdqSXnEks= github.com/ipfs/go-metrics-prometheus v0.0.1/go.mod h1:ELLU99AQQNi+zX6GCGm2lAgnzdSH3u5UVlCdqSXnEks=
github.com/ipfs/go-mfs v0.0.3 h1:gFBlZw9DpZXaxqeto1H9uLkg+qzE8EVbCIVD2yuKUU4= github.com/ipfs/go-mfs v0.0.3 h1:gFBlZw9DpZXaxqeto1H9uLkg+qzE8EVbCIVD2yuKUU4=
github.com/ipfs/go-mfs v0.0.3/go.mod h1:rUT0dKNWkKa1T+MobpBL2zANn7p8Y6unXANC0PV2FLk= github.com/ipfs/go-mfs v0.0.3/go.mod h1:rUT0dKNWkKa1T+MobpBL2zANn7p8Y6unXANC0PV2FLk=
github.com/ipfs/go-mfs v0.0.4 h1:34qX5A7mQTYTkszSKIAFr+Y7BbvwVjHW9mzHDxSUqTo=
github.com/ipfs/go-mfs v0.0.4/go.mod h1:rUT0dKNWkKa1T+MobpBL2zANn7p8Y6unXANC0PV2FLk=
github.com/ipfs/go-path v0.0.1 h1:6UskTq8xYVs3zVnHjXDvoCqw22dKWK1BwD1cy1cuHyc= github.com/ipfs/go-path v0.0.1 h1:6UskTq8xYVs3zVnHjXDvoCqw22dKWK1BwD1cy1cuHyc=
github.com/ipfs/go-path v0.0.1/go.mod h1:ztzG4iSBN2/CJa93rtHAv/I+mpK+BGALeUoJzhclhw0= github.com/ipfs/go-path v0.0.1/go.mod h1:ztzG4iSBN2/CJa93rtHAv/I+mpK+BGALeUoJzhclhw0=
github.com/ipfs/go-path v0.0.2 h1:Nm9g9GCo3XoSASPh2cGEW9eGPt8xh0QzA1VNO69NTMs= github.com/ipfs/go-path v0.0.2 h1:Nm9g9GCo3XoSASPh2cGEW9eGPt8xh0QzA1VNO69NTMs=
......
...@@ -531,9 +531,9 @@ ...@@ -531,9 +531,9 @@
}, },
{ {
"author": "hsanjuan", "author": "hsanjuan",
"hash": "QmUpYgeayfk3b83aYfNzVXwJJvyYsBrtKJtsnPfyjbgcgb", "hash": "QmX1nx1HZoyRKpp1d5L52kvcfqMbdbV6k4LFFrCEv7wnpH",
"name": "go-mfs", "name": "go-mfs",
"version": "0.1.51" "version": "0.1.52"
}, },
{ {
"author": "kevina", "author": "kevina",
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论