Skip to content

Commit ed28d84

Browse files
committed
Add support for preserving the CID string in ipfs refs.
License: MIT Signed-off-by: Kevin Atkinson <[email protected]>
1 parent 7b01c41 commit ed28d84

File tree

3 files changed

+51
-1
lines changed

3 files changed

+51
-1
lines changed

core/commands/refs.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ NOTE: List all references recursively by using the flag '-r'.
123123
res.SetError(err, cmdkit.ErrNormal)
124124
return
125125
}
126-
enc := h.Encoder()
126+
enc := h.EncoderWithOverride()
127127

128128
objs, err := objectsForPaths(ctx, n, req.Arguments())
129129
if err != nil {

core/commands/root.go

+10
Original file line numberDiff line numberDiff line change
@@ -292,3 +292,13 @@ func (h *CidBaseHandler) EncoderFromPath(p string) cidenc.Encoder {
292292
return *h.enc
293293
}
294294
}
295+
296+
func (h *CidBaseHandler) EncoderWithOverride() cidenc.Interface {
297+
if h.base == "" {
298+
enc := cidenc.NewOverride(*h.enc)
299+
enc.Add(h.args...)
300+
return enc
301+
} else {
302+
return *h.enc
303+
}
304+
}

test/sharness/t0095-refs.sh

+40
Original file line numberDiff line numberDiff line change
@@ -173,4 +173,44 @@ EOF
173173
test_cmp refsr.txt expected.txt
174174
'
175175

176+
test_expect_success "ipfs refs -r -l <mixed multibase>" '
177+
cat <<EOF > expected.txt
178+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
179+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa
180+
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
181+
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
182+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
183+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> QmXXazTjeNCKFnpW1D65vTKsTs8fbgkCWTv8Em4pdK2coH
184+
QmXXazTjeNCKFnpW1D65vTKsTs8fbgkCWTv8Em4pdK2coH -> QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa
185+
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> QmdytmR4wULMd3SLo6ePF4s3WcRHWcpnJZ7bHhoj3QB13v
186+
QmNkQvpiyAEtbeLviC7kqfifYoK1GXPcsSxTpP1yS3ykLa -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
187+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
188+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
189+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
190+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> QmSFxnK675wQ9Kc1uqWKyJUaNxvSc2BP5DbXCD3x93oq61
191+
EOF
192+
ipfs refs -r -e bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ > refsr.txt
193+
test_cmp refsr.txt expected.txt
194+
'
195+
196+
test_expect_success "ipfs refs --upgrade-cidv0 -r -l <mixed multibase> " '
197+
cat <<EOF > expected.txt
198+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> zdj7Wm598r8nwoxVkkGXqc17Shc8pcjEAEvAsX7xWCPrqjuDr
199+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW
200+
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> zdj7Wm598r8nwoxVkkGXqc17Shc8pcjEAEvAsX7xWCPrqjuDr
201+
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
202+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
203+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> zdj7WecqMtoVqfv8W8Rjx3hnqAS65L7KEALNnKeuZTVSkbWyD
204+
zdj7WecqMtoVqfv8W8Rjx3hnqAS65L7KEALNnKeuZTVSkbWyD -> zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW
205+
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> zdj7Wm598r8nwoxVkkGXqc17Shc8pcjEAEvAsX7xWCPrqjuDr
206+
zdj7WVqfJFnpdiVUMerSw5Ni3ZEB1WSz4okjmMzVBQeFVYeWW -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
207+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
208+
bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va -> uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ
209+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
210+
uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ -> zdj7WZMD9k9xZR122uweaTwqgK91B7tKZbWwY13s1ScxVNjFw
211+
EOF
212+
ipfs refs --upgrade-cidv0 -r -e bafybeicvusi42o2fcso5ybswnsticebaetge4ispea3i4ayj4bgmy432va uAXASID8NjbmooGbiMTtNz1kVElOi4R4h3R2oKMEQu1lWaqBZ > refsr.txt
213+
test_cmp refsr.txt expected.txt
214+
'
215+
176216
test_done

0 commit comments

Comments
 (0)