Phase 4a hotfix: pin resolves stamped refs #44
@@ -778,7 +778,11 @@ async fn cmd_pin(args: PinArgs) -> Result<()> {
|
|||||||
// to pin something that isn't cached yet — otherwise the tag
|
// to pin something that isn't cached yet — otherwise the tag
|
||||||
// would point at a value that no producer ever put there.
|
// would point at a value that no producer ever put there.
|
||||||
let key = *fp.as_bytes();
|
let key = *fp.as_bytes();
|
||||||
let blob_id = match call_get_ref(&conn, &key).await? {
|
let resolved_v = match call_get_ref_versioned(&conn, &key).await? {
|
||||||
|
Some(stamped) => Some(stamped.value),
|
||||||
|
None => call_get_ref(&conn, &key).await?,
|
||||||
|
};
|
||||||
|
let blob_id = match resolved_v {
|
||||||
Some(v) => BlobId::from_bytes(v),
|
Some(v) => BlobId::from_bytes(v),
|
||||||
None => {
|
None => {
|
||||||
conn.close(quinn::VarInt::from_u32(0), b"done");
|
conn.close(quinn::VarInt::from_u32(0), b"done");
|
||||||
|
|||||||
Reference in New Issue
Block a user