Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
G
go-ipfs
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
jihao
go-ipfs
Commits
e63c06c8
提交
e63c06c8
authored
1月 11, 2019
作者:
Łukasz Magiera
提交者:
Steven Allen
1月 17, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ls: report real size by default
License: MIT Signed-off-by:
Łukasz Magiera
<
magik6k@gmail.com
>
上级
6bb02a59
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
68 行增加
和
68 行删除
+68
-68
ls.go
core/commands/ls.go
+4
-4
unixfs.go
core/coreapi/interface/tests/unixfs.go
+2
-2
t0045-ls.sh
test/sharness/t0045-ls.sh
+62
-62
没有找到文件。
core/commands/ls.go
浏览文件 @
e63c06c8
...
...
@@ -44,7 +44,7 @@ type LsOutput struct {
const
(
lsHeadersOptionNameTime
=
"headers"
lsResolveTypeOptionName
=
"resolve-type"
ls
ResolveSizeOptionName
=
"resolve-
size"
ls
SizeOptionName
=
"
size"
lsStreamOptionName
=
"stream"
)
...
...
@@ -67,7 +67,7 @@ The JSON output contains type information.
Options
:
[]
cmdkit
.
Option
{
cmdkit
.
BoolOption
(
lsHeadersOptionNameTime
,
"v"
,
"Print table headers (Hash, Size, Name)."
),
cmdkit
.
BoolOption
(
lsResolveTypeOptionName
,
"Resolve linked objects to find out their types."
)
.
WithDefault
(
true
),
cmdkit
.
BoolOption
(
ls
ResolveSizeOptionName
,
"Resolve linked objects to find out their file size."
)
.
WithDefault
(
fals
e
),
cmdkit
.
BoolOption
(
ls
SizeOptionName
,
"Resolve linked objects to find out their file size."
)
.
WithDefault
(
tru
e
),
cmdkit
.
BoolOption
(
lsStreamOptionName
,
"s"
,
"Enable exprimental streaming of directory entries as they are traversed."
),
},
Run
:
func
(
req
*
cmds
.
Request
,
res
cmds
.
ResponseEmitter
,
env
cmds
.
Environment
)
error
{
...
...
@@ -82,7 +82,7 @@ The JSON output contains type information.
}
resolveType
,
_
:=
req
.
Options
[
lsResolveTypeOptionName
]
.
(
bool
)
resolveSize
,
_
:=
req
.
Options
[
ls
Resolve
SizeOptionName
]
.
(
bool
)
resolveSize
,
_
:=
req
.
Options
[
lsSizeOptionName
]
.
(
bool
)
dserv
:=
nd
.
DAG
if
!
resolveType
&&
!
resolveSize
{
offlineexch
:=
offline
.
Exchange
(
nd
.
Blockstore
)
...
...
@@ -229,7 +229,7 @@ func makeDagNodeLinkResults(req *cmds.Request, dagnode ipld.Node) <-chan unixfs.
func
makeLsLink
(
req
*
cmds
.
Request
,
dserv
ipld
.
DAGService
,
resolveType
bool
,
resolveSize
bool
,
link
*
ipld
.
Link
)
(
*
LsLink
,
error
)
{
t
:=
unixfspb
.
Data_DataType
(
-
1
)
size
:=
link
.
Size
var
size
uint64
switch
link
.
Cid
.
Type
()
{
case
cid
.
Raw
:
...
...
core/coreapi/interface/tests/unixfs.go
浏览文件 @
e63c06c8
...
...
@@ -704,8 +704,8 @@ func (tp *provider) TestLs(t *testing.T) {
if
len
(
links
)
!=
1
{
t
.
Fatalf
(
"expected 1 link, got %d"
,
len
(
links
))
}
if
links
[
0
]
.
Size
!=
23
{
t
.
Fatalf
(
"expected size =
23
, got %d"
,
links
[
0
]
.
Size
)
if
links
[
0
]
.
Size
!=
15
{
t
.
Fatalf
(
"expected size =
15
, got %d"
,
links
[
0
]
.
Size
)
}
if
links
[
0
]
.
Name
!=
"name-of-file"
{
t
.
Fatalf
(
"expected name = name-of-file, got %s"
,
links
[
0
]
.
Name
)
...
...
test/sharness/t0045-ls.sh
浏览文件 @
e63c06c8
...
...
@@ -45,41 +45,41 @@ EOF
test_expect_success
"'ipfs ls <three dir hashes>' output looks good"
'
cat <<-\EOF >expected_ls &&
QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj:
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
246
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
1143
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
13
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
13
f2
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
5
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
5
f2
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy:
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 10
35
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
14
a
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 10
24
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
6
a
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss:
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 1
39
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
14
a
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 1
28
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
6
a
EOF
test_cmp expected_ls actual_ls
'
test_expect_success
"'ipfs ls --
resolve-siz
e <three dir hashes>' succeeds"
'
test_expect_success
"'ipfs ls --
size=fals
e <three dir hashes>' succeeds"
'
ipfs ls --resolve-size QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss >actual_ls
'
test_expect_success
"'ipfs ls <three dir hashes>' output looks good"
'
cat <<-\EOF >expected_ls &&
QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj:
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
246
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
1143
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
5
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
5
f2
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M f2
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy:
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 1024
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
6
a
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL a
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss:
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 128
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
6
a
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN a
EOF
test_cmp expected_ls actual_ls
'
...
...
@@ -92,20 +92,20 @@ EOF
cat <<-\EOF >expected_ls_headers &&
QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj:
Hash Size Name
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
246
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
1143
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
13
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
13
f2
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
5
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
5
f2
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy:
Hash Size Name
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 10
35
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
14
a
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 10
24
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
6
a
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss:
Hash Size Name
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 1
39
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
14
a
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 1
28
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
6
a
EOF
test_cmp expected_ls_headers actual_ls_headers
'
...
...
@@ -147,41 +147,41 @@ EOF
test_expect_success
"'ipfs ls --stream <three dir hashes>' output looks good"
'
cat <<-\EOF >expected_ls_stream &&
QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj:
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
246
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
1143
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
13
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
13
f2
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
5
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
5
f2
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy:
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 10
35
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
14
a
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 10
24
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
6
a
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss:
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 1
39
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
14
a
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 1
28
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
6
a
EOF
test_cmp expected_ls_stream actual_ls_stream
'
test_expect_success
"'ipfs ls --
resolve-siz
e --stream <three dir hashes>' succeeds"
'
test_expect_success
"'ipfs ls --
size=fals
e --stream <three dir hashes>' succeeds"
'
ipfs ls --resolve-size --stream QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss >actual_ls_stream
'
test_expect_success
"'ipfs ls --stream <three dir hashes>' output looks good"
'
test_expect_success
"'ipfs ls --s
ize=false --s
tream <three dir hashes>' output looks good"
'
cat <<-\EOF >expected_ls_stream &&
QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj:
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
246
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
1143
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH
5
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M
5
f2
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M f2
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy:
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 1024
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL
6
a
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL a
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss:
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 128
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN
6
a
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN a
EOF
test_cmp expected_ls_stream actual_ls_stream
'
...
...
@@ -193,21 +193,21 @@ EOF
test_expect_success
"'ipfs ls --stream --headers <three dir hashes>' output looks good"
'
cat <<-\EOF >expected_ls_stream_headers &&
QmfNy183bXiRVyrhyWtq3TwHn79yHEkiAGFr18P7YNzESj:
Hash Size
Name
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss
246
d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy
1143
d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH 13
f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M 13
f2
Hash Size Name
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss d1/
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy d2/
QmeomffUNfmQy76CQGy9NdmqEnnHU9soCexBnGU3ezPHVH 13 f1
QmNtocSs7MoDkJMc1RkyisCSKvLadujPsfJfSdJ3e1eA1M 13 f2
QmR3jhV4XpxxPjPT3Y8vNnWvWNvakdcT3H6vqpRBsX1MLy:
Hash Size
Name
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 1035
1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL 14
a
Hash Size Name
QmbQBUSRL9raZtNXfpTDeaxQapibJEG6qEY8WqAN22aUzd 1035 1024
QmaRGe7bVmVaLmxbrMiVNXqW4pRNNp3xq7hFtyRKA3mtJL 14 a
QmSix55yz8CzWXf5ZVM9vgEvijnEeeXiTSarVtsqiiCJss:
Hash Size
Name
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 139
128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN 14
a
Hash Size Name
QmQNd6ubRXaNG6Prov8o6vk3bn6eWsj9FxLGrAVDUAGkGe 139 128
QmZULkCELmmk5XNfCgTnCyFgAVxBRBXyDHGGMVoLFLiXEN 14 a
EOF
test_cmp expected_ls_stream_headers actual_ls_stream_headers
'
...
...
@@ -282,30 +282,30 @@ test_expect_success "remove a file in dir" '
ipfs block rm $FILE
'
test_expect_success
"'ipfs ls --resolve-type=false '
ok
"
'
ipfs ls --resolve-type=false $DIR > /dev/null
test_expect_success
"'ipfs ls --resolve-type=false '
fails
"
'
test_must_fail
ipfs ls --resolve-type=false $DIR > /dev/null
'
test_expect_success
"'ipfs ls' fails"
'
test_must_fail ipfs ls $DIR
'
test_expect_success
"'ipfs ls --resolve-type=
false --resolve-size=tru
e' fails"
'
test_must_fail ipfs ls --resolve-type=
false --resolve-size=tru
e $DIR
test_expect_success
"'ipfs ls --resolve-type=
true --size=fals
e' fails"
'
test_must_fail ipfs ls --resolve-type=
true --size=fals
e $DIR
'
test_launch_ipfs_daemon
--offline
test_expect_success
"'ipfs ls --resolve-type=false' ok"
'
ipfs ls --resolve-type=false $DIR > /dev/null
test_expect_success
"'ipfs ls --resolve-type=false
--size=false
' ok"
'
ipfs ls --resolve-type=false
--size=false
$DIR > /dev/null
'
test_expect_success
"'ipfs ls' fails"
'
test_must_fail ipfs ls $DIR
'
test_expect_success
"'ipfs ls --resolve-type=false --
resolve-
size=true' fails"
'
test_must_fail ipfs ls --resolve-type=false --
resolve-
size=true $DIR
test_expect_success
"'ipfs ls --resolve-type=false --size=true' fails"
'
test_must_fail ipfs ls --resolve-type=false --size=true $DIR
'
test_kill_ipfs_daemon
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论