Skip to content

Commit

Permalink
Add support for preserving the CID string in ipfs refs.
Browse files Browse the repository at this point in the history
License: MIT
Signed-off-by: Kevin Atkinson <k@kevina.org>
  • Loading branch information
kevina committed Sep 19, 2018
1 parent 7b01c41 commit ed28d84
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 1 deletion.
2 changes: 1 addition & 1 deletion core/commands/refs.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ NOTE: List all references recursively by using the flag '-r'.
res.SetError(err, cmdkit.ErrNormal)
return
}
enc := h.Encoder()
enc := h.EncoderWithOverride()

objs, err := objectsForPaths(ctx, n, req.Arguments())
if err != nil {
Expand Down
10 changes: 10 additions & 0 deletions core/commands/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -292,3 +292,13 @@ func (h *CidBaseHandler) EncoderFromPath(p string) cidenc.Encoder {
return *h.enc
}
}

func (h *CidBaseHandler) EncoderWithOverride() cidenc.Interface {
if h.base == "" {
enc := cidenc.NewOverride(*h.enc)
enc.Add(h.args...)
return enc
} else {
return *h.enc
}
}
40 changes: 40 additions & 0 deletions test/sharness/t0095-refs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -173,4 +173,44 @@ EOF
test_cmp refsr.txt expected.txt
'

test_expect_success "ipfs refs -r -l <mixed multibase>" '
cat <<EOF > expected.txt
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> QmXXazTjeNCKFnpW1D65vTKsTs8fbgkCWTv8Em4pdK2coH
QmXXazTjeNCKFnpW1D65vTKsTs8fbgkCWTv8Em4pdK2coH -> QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
EOF
ipfs refs -r -e bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ > refsr.txt
test_cmp refsr.txt expected.txt
'

test_expect_success "ipfs refs --upgrade-cidv0 -r -l <mixed multibase> " '
cat <<EOF > expected.txt
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> zdj7Wm598r8nwoxVkkGXqc17Shc8pcjEAEvAsX7xWCPrqjuDr
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> zdj7Wm598r8nwoxVkkGXqc17Shc8pcjEAEvAsX7xWCPrqjuDr
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> zdj7WecqMtoVqfv8W8Rjx3hnqAS65L7KEALNnKeuZTVSkbWyD
zdj7WecqMtoVqfv8W8Rjx3hnqAS65L7KEALNnKeuZTVSkbWyD -> zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> zdj7Wm598r8nwoxVkkGXqc17Shc8pcjEAEvAsX7xWCPrqjuDr
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
EOF
ipfs refs --upgrade-cidv0 -r -e bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ > refsr.txt
test_cmp refsr.txt expected.txt
'

test_done

0 comments on commit ed28d84

Please sign in to comment.