Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
1b51d9db
Commit
1b51d9db
authored
9 years ago
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1138 from vitorbaptista/1134-display-types-on-pin-ls
core/commands: pin ls: display types by default
parents
4c133697
5d1a25bb
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
44 additions
and
14 deletions
+44
-14
core/commands/pin.go
core/commands/pin.go
+36
-8
test/sharness/t0080-repo.sh
test/sharness/t0080-repo.sh
+8
-6
No files found.
core/commands/pin.go
View file @
1b51d9db
...
...
@@ -173,6 +173,7 @@ Defaults to "direct".
Options
:
[]
cmds
.
Option
{
cmds
.
StringOption
(
"type"
,
"t"
,
"The type of pinned keys to list. Can be
\"
direct
\"
,
\"
indirect
\"
,
\"
recursive
\"
, or
\"
all
\"
. Defaults to
\"
direct
\"
"
),
cmds
.
BoolOption
(
"count"
,
"n"
,
"Show refcount when listing indirect pins"
),
cmds
.
BoolOption
(
"quiet"
,
"q"
,
"Write just hashes of objects"
),
},
Run
:
func
(
req
cmds
.
Request
,
res
cmds
.
Response
)
{
n
,
err
:=
req
.
Context
()
.
GetNode
()
...
...
@@ -197,20 +198,29 @@ Defaults to "direct".
res
.
SetError
(
err
,
cmds
.
ErrClient
)
}
keys
:=
make
(
map
[
string
]
in
t
)
keys
:=
make
(
map
[
string
]
RefKeyObjec
t
)
if
typeStr
==
"direct"
||
typeStr
==
"all"
{
for
_
,
k
:=
range
n
.
Pinning
.
DirectKeys
()
{
keys
[
k
.
B58String
()]
=
1
keys
[
k
.
B58String
()]
=
RefKeyObject
{
Type
:
"direct"
,
Count
:
1
,
}
}
}
if
typeStr
==
"indirect"
||
typeStr
==
"all"
{
for
k
,
v
:=
range
n
.
Pinning
.
IndirectKeys
()
{
keys
[
k
.
B58String
()]
=
v
keys
[
k
.
B58String
()]
=
RefKeyObject
{
Type
:
"indirect"
,
Count
:
v
,
}
}
}
if
typeStr
==
"recursive"
||
typeStr
==
"all"
{
for
_
,
k
:=
range
n
.
Pinning
.
RecursiveKeys
()
{
keys
[
k
.
B58String
()]
=
1
keys
[
k
.
B58String
()]
=
RefKeyObject
{
Type
:
"recursive"
,
Count
:
1
,
}
}
}
...
...
@@ -229,6 +239,11 @@ Defaults to "direct".
return
nil
,
err
}
quiet
,
_
,
err
:=
res
.
Request
()
.
Option
(
"quiet"
)
.
Bool
()
if
err
!=
nil
{
return
nil
,
err
}
keys
,
ok
:=
res
.
Output
()
.
(
*
RefKeyList
)
if
!
ok
{
return
nil
,
u
.
ErrCast
()
...
...
@@ -236,11 +251,19 @@ Defaults to "direct".
out
:=
new
(
bytes
.
Buffer
)
if
typeStr
==
"indirect"
&&
count
{
for
k
,
v
:=
range
keys
.
Keys
{
fmt
.
Fprintf
(
out
,
"%s %d
\n
"
,
k
,
v
)
if
quiet
{
fmt
.
Fprintf
(
out
,
"%s
\n
"
,
k
,
v
.
Count
)
}
else
{
fmt
.
Fprintf
(
out
,
"%s %s %d
\n
"
,
k
,
v
.
Type
,
v
.
Count
)
}
}
}
else
{
for
k
,
_
:=
range
keys
.
Keys
{
fmt
.
Fprintf
(
out
,
"%s
\n
"
,
k
)
for
k
,
v
:=
range
keys
.
Keys
{
if
quiet
{
fmt
.
Fprintf
(
out
,
"%s
\n
"
,
k
)
}
else
{
fmt
.
Fprintf
(
out
,
"%s %s
\n
"
,
k
,
v
.
Type
)
}
}
}
return
out
,
nil
...
...
@@ -248,6 +271,11 @@ Defaults to "direct".
},
}
type
RefKeyObject
struct
{
Type
string
Count
int
}
type
RefKeyList
struct
{
Keys
map
[
string
]
in
t
Keys
map
[
string
]
RefKeyObjec
t
}
This diff is collapsed.
Click to expand it.
test/sharness/t0080-repo.sh
View file @
1b51d9db
...
...
@@ -49,7 +49,7 @@ test_expect_success "file no longer pinned" '
echo "$HASH_WELCOME_DOCS" >expected2 &&
ipfs refs -r "$HASH_WELCOME_DOCS" >>expected2 &&
echo QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn >> expected2 &&
ipfs pin ls --type=recursive >actual2 &&
ipfs pin ls --type=recursive
--quiet
>actual2 &&
test_sort_cmp expected2 actual2
'
...
...
@@ -105,6 +105,7 @@ test_expect_success "adding multiblock random file succeeds" '
test_expect_success
"'ipfs pin ls --type=indirect' is correct"
'
ipfs refs "$MBLOCKHASH" >refsout &&
ipfs refs -r "$HASH_WELCOME_DOCS" >>refsout &&
sed -i="" "s/\(.*\)/\1 indirect/g" refsout &&
ipfs pin ls --type=indirect >indirectpins &&
test_sort_cmp refsout indirectpins
'
...
...
@@ -122,7 +123,7 @@ test_expect_success "pin something directly" '
'
test_expect_success
"'ipfs pin ls --type=direct' is correct"
'
echo "$DIRECTPIN" >directpinexpected &&
echo "$DIRECTPIN
direct
" >directpinexpected &&
ipfs pin ls --type=direct >directpinout &&
test_sort_cmp directpinexpected directpinout
'
...
...
@@ -132,17 +133,18 @@ test_expect_success "'ipfs pin ls --type=recursive' is correct" '
echo "$HASH_WELCOME_DOCS" >>rp_expected &&
echo QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn >>rp_expected &&
ipfs refs -r "$HASH_WELCOME_DOCS" >>rp_expected &&
sed -i="" "s/\(.*\)/\1 recursive/g" rp_expected &&
ipfs pin ls --type=recursive >rp_actual &&
test_sort_cmp rp_expected rp_actual
'
test_expect_success
"'ipfs pin ls --type=all' is correct"
'
test_expect_success
"'ipfs pin ls --type=all
--quiet
' is correct"
'
cat directpinout >allpins &&
cat rp_actual >>allpins &&
cat indirectpins >>allpins &&
c
at
allpins | sort | uniq >> allpins_uniq &&
ipfs pin ls --type=all >actual_allpins &&
test_sort_cmp allpins_uniq actual_allpins
c
ut -f1 -d " "
allpins | sort | uniq >> allpins_uniq
_hashes
&&
ipfs pin ls --type=all
--quiet
>actual_allpins &&
test_sort_cmp allpins_uniq
_hashes
actual_allpins
'
test_kill_ipfs_daemon
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment