Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
63ddffdb
提交
63ddffdb
authored
8月 13, 2017
作者:
Kevin Atkinson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add "files update" command.
License: MIT Signed-off-by:
Kevin Atkinson
<
k@kevina.org
>
上级
18a6344b
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
73 行增加
和
9 行删除
+73
-9
files.go
core/commands/files/files.go
+73
-9
没有找到文件。
core/commands/files/files.go
浏览文件 @
63ddffdb
...
...
@@ -58,15 +58,16 @@ from the parent directory.
// that uses "hash"
},
Subcommands
:
map
[
string
]
*
cmds
.
Command
{
"read"
:
FilesReadCmd
,
"write"
:
FilesWriteCmd
,
"mv"
:
FilesMvCmd
,
"cp"
:
FilesCpCmd
,
"ls"
:
FilesLsCmd
,
"mkdir"
:
FilesMkdirCmd
,
"stat"
:
FilesStatCmd
,
"rm"
:
FilesRmCmd
,
"flush"
:
FilesFlushCmd
,
"read"
:
FilesReadCmd
,
"write"
:
FilesWriteCmd
,
"mv"
:
FilesMvCmd
,
"cp"
:
FilesCpCmd
,
"ls"
:
FilesLsCmd
,
"mkdir"
:
FilesMkdirCmd
,
"stat"
:
FilesStatCmd
,
"rm"
:
FilesRmCmd
,
"flush"
:
FilesFlushCmd
,
"update"
:
FilesUpdateCmd
,
},
}
...
...
@@ -793,6 +794,69 @@ are run with the '--flush=false'.
},
}
var
FilesUpdateCmd
=
&
cmds
.
Command
{
Helptext
:
cmds
.
HelpText
{
Tagline
:
"Change the cid version of hash function of the root node of a given path."
,
ShortDescription
:
`
Flush a given path to disk. This is only useful when other commands
are run with the '--flush=false'.
`
,
},
Arguments
:
[]
cmds
.
Argument
{
cmds
.
StringArg
(
"path"
,
false
,
false
,
"Path to flush. Default: '/'."
),
},
Run
:
func
(
req
cmds
.
Request
,
res
cmds
.
Response
)
{
nd
,
err
:=
req
.
InvocContext
()
.
GetNode
()
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
path
:=
"/"
if
len
(
req
.
Arguments
())
>
0
{
path
=
req
.
Arguments
()[
0
]
}
flush
,
_
,
_
:=
req
.
Option
(
"flush"
)
.
Bool
()
prefix
,
err
:=
getPrefix
(
req
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
err
=
updatePath
(
nd
.
FilesRoot
,
path
,
prefix
,
flush
)
if
err
!=
nil
{
res
.
SetError
(
err
,
cmds
.
ErrNormal
)
return
}
},
}
func
updatePath
(
rt
*
mfs
.
Root
,
pth
string
,
prefix
*
cid
.
Prefix
,
flush
bool
)
error
{
if
prefix
==
nil
{
return
nil
}
nd
,
err
:=
mfs
.
Lookup
(
rt
,
pth
)
if
err
!=
nil
{
return
err
}
switch
n
:=
nd
.
(
type
)
{
case
*
mfs
.
Directory
:
n
.
SetPrefix
(
prefix
)
default
:
return
fmt
.
Errorf
(
"can only update directories"
)
}
if
flush
{
nd
.
Flush
()
}
return
nil
}
var
FilesRmCmd
=
&
cmds
.
Command
{
Helptext
:
cmds
.
HelpText
{
Tagline
:
"Remove a file."
,
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论