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
oid sha256:d46350623e56ebb6fa15761632923b99339088278d87e221657d64c3c5d501e3
size 9349402
oid sha256:90b243439895853eb7aa5d3074d41276ebc5d199aff5f7021b27edf236536ae1
size 9450000

View File

@ -2396,15 +2396,20 @@
::
:: 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
|= [new-blobs=(map path blob) old-lat=(map lobe blob)]
^- (map lobe blob)
%- ~(uni by old-lat)
%- malt
%+ turn
~(tap by new-blobs)
|= [=path =blob]
[p.blob blob]
=/ new-lat=(map lobe blob)
%- malt
%+ turn
~(tap by new-blobs)
|= [=path =blob]
[p.blob blob]
(~(uni by new-lat) old-lat)
::
:: Apply a change list, creating the commit and applying it to
:: the current state.
@ -4143,10 +4148,17 @@
[[[hen %slip %d %flog req] ~] ..^$]
::
%drop
=^ mos ruf
=/ den ((de our now ski hen ruf) our des.req)
abet:drop-me:den
[mos ..^$]
?: =(~ act.ruf)
~& %clay-idle
[~ ..^$]
~& :- %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
?: =(%$ des.req)