fix lat uni order in clay to break recursion

This commit is contained in:
Philip Monk 2019-07-24 15:57:28 -07:00
parent 0b0766b32b
commit 0b56c798fd
No known key found for this signature in database
GPG Key ID: B66E1F02604E44EC
2 changed files with 24 additions and 12 deletions

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:d46350623e56ebb6fa15761632923b99339088278d87e221657d64c3c5d501e3 oid sha256:90b243439895853eb7aa5d3074d41276ebc5d199aff5f7021b27edf236536ae1
size 9349402 size 9450000

View File

@ -2396,15 +2396,20 @@
:: ::
:: Update the object store with new blobs. :: Update the object store with new blobs.
:: ::
:: Must uni the old-lat into the new-lat so that if we recreate
:: the same blob hash, we use the old blob not the new one. Else
:: you get mutually recurring %delta blobs.
::
++ add-blobs ++ add-blobs
|= [new-blobs=(map path blob) old-lat=(map lobe blob)] |= [new-blobs=(map path blob) old-lat=(map lobe blob)]
^- (map lobe blob) ^- (map lobe blob)
%- ~(uni by old-lat) =/ new-lat=(map lobe blob)
%- malt %- malt
%+ turn %+ turn
~(tap by new-blobs) ~(tap by new-blobs)
|= [=path =blob] |= [=path =blob]
[p.blob blob] [p.blob blob]
(~(uni by new-lat) old-lat)
:: ::
:: Apply a change list, creating the commit and applying it to :: Apply a change list, creating the commit and applying it to
:: the current state. :: the current state.
@ -4143,10 +4148,17 @@
[[[hen %slip %d %flog req] ~] ..^$] [[[hen %slip %d %flog req] ~] ..^$]
:: ::
%drop %drop
=^ mos ruf ?: =(~ act.ruf)
=/ den ((de our now ski hen ruf) our des.req) ~& %clay-idle
abet:drop-me:den [~ ..^$]
[mos ..^$] ~& :- %clay-cancelling
?> ?=(^ act.ruf)
[hen -.req -.eval-data]:u.act.ruf
=. act.ruf ~
?~ cue.ruf
[~ ..^$]
=/ =duct duct:(need ~(top to cue.ruf))
[[duct %pass /queued-request %b %wait now]~ ..^$]
:: ::
%info %info
?: =(%$ des.req) ?: =(%$ des.req)