@cryptotaxi247 / kubo / commits / e48626f51

chore(cmds): dag import: use ipld legacy decode

Lucas Molas committed Aug 23, 2022 at 12:04 UTC e48626f517f89863dcf2f1db85deb92f2d2709e8
2 files changed +13 -2
core/commands/dag/import.go
+3 -2
@@ -8,6 +8,7 @@ import (
8 cid "github.com/ipfs/go-cid"
9 files "github.com/ipfs/go-ipfs-files"
10 ipld "github.com/ipfs/go-ipld-format"
11 + ipldlegacy "github.com/ipfs/go-ipld-legacy"
12 iface "github.com/ipfs/interface-go-ipfs-core"
13 "github.com/ipfs/interface-go-ipfs-core/options"
14 "github.com/ipfs/kubo/core/commands/cmdenv"
@@ -90,7 +91,7 @@ func dagImport(req *cmds.Request, res cmds.ResponseEmitter, env cmds.Environment
91
92 if block, err := node.Blockstore.Get(req.Context, c); err != nil {
93 ret.PinErrorMsg = err.Error()
93 - } else if nd, err := ipld.Decode(block); err != nil {
94 + } else if nd, err := ipldlegacy.DecodeNode(req.Context, block); err != nil {
95 ret.PinErrorMsg = err.Error()
96 } else if err := node.Pinning.Pin(req.Context, nd, true); err != nil {
97 ret.PinErrorMsg = err.Error()
@@ -181,7 +182,7 @@ func importWorker(req *cmds.Request, re cmds.ResponseEmitter, api iface.CoreAPI,
182 }
183
184 // the double-decode is suboptimal, but we need it for batching
184 - nd, err := ipld.Decode(block)
185 + nd, err := ipldlegacy.DecodeNode(req.Context, block)
186 if err != nil {
187 return err
188 }
test/sharness/t0054-dag-car-import-export.sh
+10
@@ -263,4 +263,14 @@ test_expect_success "version 2 import output as expected" '
263 test_cmp_sorted version_2_import_expected version_2_import_actual
264 '
265
266 +test_expect_success "'ipfs dag import' decode IPLD dag-json works" '
267 + HASH=$(echo "dag-json content" | ipfs add -Q) &&
268 + # We dont pipe because that doesnt release the repo lock
269 + ipfs dag get $HASH > dag-json.out &&
270 + NEW_HASH=$(ipfs dag put --store-codec dag-json dag-json.out) &&
271 + ipfs dag export $NEW_HASH > dag-json.car &&
272 + ipfs dag import dag-json.car &&
273 + rm dag-json.out dag-json.car
274 +'
275 +
276 test_done