diff --git a/base/ape/hood/core.hook b/base/ape/hood/core.hook index 5594e134b..d6bebfb8b 100644 --- a/base/ape/hood/core.hook +++ b/base/ape/hood/core.hook @@ -78,33 +78,34 @@ =. +>.fun (kiln-work hid (able %kiln)) (ably (fun +<)) :: -++ poke-dill-belt (wrap poke-dill-belt):from-drum -++ poke-helm-init (wrap poke-init):from-helm -++ poke-hood-link (wrap poke-link):from-drum -++ poke-hood-mass (wrap poke-mass):from-helm -++ poke-hood-sync (wrap poke-sync):from-kiln -++ poke-hood-unix (wrap poke-unix):from-kiln -++ poke-hood-verb (wrap poke-verb):from-helm -++ poke-hood-begin (wrap poke-begin):from-helm -++ poke-hood-invite (wrap poke-invite):from-helm -++ poke-hood-merge (wrap poke-merge):from-kiln -++ poke-hood-reload (wrap poke-reload):from-helm -++ poke-hood-reset (wrap poke-reset):from-helm -++ poke-hood-start (wrap poke-start):from-drum -++ poke-hood-reload-desk (wrap poke-reload-desk):from-helm -++ poke-kiln-cp (wrap poke-cp):from-kiln -++ poke-kiln-rm (wrap poke-rm):from-kiln -++ poke-kiln-mv (wrap poke-mv):from-kiln -++ poke-will (wrap poke-will):from-helm -++ mere-kiln (wrap take-mere):from-kiln -++ mere-kiln-sync (wrap take-mere-sync):from-kiln -++ made-kiln (wrap take-made):from-kiln -++ init-helm |=([way=wire *] [~ +>]) -++ note-helm (wrap take-note):from-helm -++ reap-drum-phat (wrap reap-phat):from-drum -++ onto-drum (wrap take-onto):from-drum -++ peer-drum (wrap peer):from-drum -++ quit-drum-phat (wrap quit-phat):from-drum -++ went-helm (wrap take-went):from-helm -++ writ-kiln-sync (wrap take-writ):from-kiln +++ poke-dill-belt (wrap poke-dill-belt):from-drum +++ poke-helm-init (wrap poke-init):from-helm +++ poke-hood-link (wrap poke-link):from-drum +++ poke-hood-mass (wrap poke-mass):from-helm +++ poke-hood-sync (wrap poke-sync):from-kiln +++ poke-hood-unsync (wrap poke-unsync):from-kiln +++ poke-hood-unix (wrap poke-unix):from-kiln +++ poke-hood-verb (wrap poke-verb):from-helm +++ poke-hood-begin (wrap poke-begin):from-helm +++ poke-hood-invite (wrap poke-invite):from-helm +++ poke-hood-merge (wrap poke-merge):from-kiln +++ poke-hood-reload (wrap poke-reload):from-helm +++ poke-hood-reset (wrap poke-reset):from-helm +++ poke-hood-start (wrap poke-start):from-drum +++ poke-hood-reload-desk (wrap poke-reload-desk):from-helm +++ poke-kiln-cp (wrap poke-cp):from-kiln +++ poke-kiln-rm (wrap poke-rm):from-kiln +++ poke-kiln-mv (wrap poke-mv):from-kiln +++ poke-will (wrap poke-will):from-helm +++ mere-kiln (wrap take-mere):from-kiln +++ mere-kiln-sync (wrap take-mere-sync):from-kiln +++ made-kiln (wrap take-made):from-kiln +++ init-helm |=([way=wire *] [~ +>]) +++ note-helm (wrap take-note):from-helm +++ reap-drum-phat (wrap reap-phat):from-drum +++ onto-drum (wrap take-onto):from-drum +++ peer-drum (wrap peer):from-drum +++ quit-drum-phat (wrap quit-phat):from-drum +++ went-helm (wrap take-went):from-helm +++ writ-kiln-sync (wrap take-writ):from-kiln -- diff --git a/base/arvo/ames.hoon b/base/arvo/ames.hoon index ad3922acd..654c9d44a 100644 --- a/base/arvo/ames.hoon +++ b/base/arvo/ames.hoon @@ -1717,7 +1717,7 @@ =. ton.fox (~(su go ton.fox) gus) :_ fox :~ :- hen - [%pass ~ %a %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl] + [%pass /ta/beginning %a %want p.bon [%r %ta t.t.q.q.bon] `(unit will)`wyl] == %re :: %re :_ fox diff --git a/base/arvo/clay.hoon b/base/arvo/clay.hoon index 432e31a45..74d49d989 100644 --- a/base/arvo/clay.hoon +++ b/base/arvo/clay.hoon @@ -46,8 +46,7 @@ $% [%want p=sock q=path r=*] :: == == :: $: %c :: to %clay - $% [%font p=@p q=@tas r=@p s=@tas] :: - [%info p=@p q=@tas r=nori] :: internal edit + $% [%info p=@p q=@tas r=nori] :: internal edit [%merg p=@p q=@tas r=@p s=@tas t=germ] :: merge desks [%warp p=sock q=riff] :: == == :: @@ -84,8 +83,6 @@ $: fat=(map ship room) :: domestic hoy=(map ship rung) :: foreign ran=rang :: hashes - $= sor :: upstreams - (map ,[p=@p q=@tas r=@p s=@tas] ,[let=@ud hen=duct]) == :: ++ rede :: universal project $: lim=@da :: complete to @@ -150,12 +147,12 @@ ;: weld %+ turn (flop yel) |=([a=duct b=gift] [hun %give b]) - :: - %+ turn (flop byn) - |=([a=duct b=riot] [a %give [%writ b]]) :: %+ turn (flop reg) |=([a=duct b=gift] [a %give b]) + :: + %+ turn (flop byn) + |=([a=duct b=riot] [a %give [%writ b]]) :: %+ turn (flop say) |= [a=duct b=path c=ship d=[p=@ud q=riff]] @@ -802,19 +799,49 @@ bar=(set blob) :: new content == ^+ +> - %= +> - hit.dom (~(uni by hit.dom) gar) + =+ ^- nut=(map tako yaki) + %- mo ^- (list (pair tako yaki)) + %+ turn (~(tap in lar)) + |= yak=yaki + [r.yak yak] + =+ ^- nat=(map lobe blob) + %- mo ^- (list (pair lobe blob)) + %+ turn (~(tap in bar)) + |= bol=blob + [p.bol bol] + ~| :* %bad-foreign-update + :* gar=gar + let=let + nut=(~(run by nut) ,~) + nat=(~(run by nat) ,~) + == + :* hitdom=hit.dom + letdom=let.dom + hutran=(~(run by hut.ran) ,~) + latran=(~(run by lat.ran) ,~) + == + == + =+ hit=(~(uni by hit.dom) gar) + =+ let=let + =+ hut=(~(uni by hut.ran) nut) + =+ lat=(~(uni by lat.ran) nat) + =+ =+ yon=`aeon`1 :: sanity check + |- + ~| yon=yon + =+ tak=(~(got by hit) yon) + =+ yak=(~(got by hut) tak) + =+ %- ~(urn by q.yak) + |= [pax=path lob=lobe] + ~| [pax=path lob=lobe] + (~(got by lat) lob) + ?: =(let yon) + ~ + $(yon +(yon)) + %= +>.$ + hit.dom hit let.dom let - hut.ran %- ~(uni by hut.ran) - %- mo ^- (list (pair tako yaki)) - %+ turn (~(tap in lar)) - |= yak=yaki - [r.yak yak] - lat.ran %- ~(uni by lat.ran) - %- mo ^- (list (pair lobe blob)) - %+ turn (~(tap in bar)) - |= bol=blob - [p.bol bol] + hut.ran hut + lat.ran lat == :: ++ exec :: change and update @@ -2308,29 +2335,15 @@ == ^- [p=(list move) q=_..^$] ?- -.q.hic - %font - ?: (~(has by sor.ruf) +.q.hic) `..^$ - :_ ..^$(sor.ruf (~(put by sor.ruf) +.q.hic [0 hen])) - :~ ^- move - :* hen %pass - /auto/(scot %p p.q.hic)/[q.q.hic]/(scot %p r.q.hic)/[s.q.hic] - %c %merg [p q r s %init]:q.hic - :: %c %warp [p.q.hic r.q.hic] s.q.hic ~ %sing - :: %w [%da now] / - == - == - :: %init :_ ..^$(fat.ruf (~(put by fat.ruf) p.q.hic [hen ~ ~])) =+ [bos=(sein p.q.hic) can=(clan p.q.hic)] %- zing ^- (list (list move)) :~ ~& [%bos bos p.q.hic] ?: =(bos p.q.hic) ~ - [hen %pass / %c %font p.q.hic %base bos %kids]~ + [hen %pass / %c %merg p.q.hic %base bos %kids %init]~ :: ~ - :: ?. ?=(?(%king %czar) can) ~ - :: [hen %pass / %c %font p.q.hic %kids p.q.hic %base]~ == :: %info @@ -2414,16 +2427,6 @@ =. une (pish:une q.q.hic +.zot ran.zat) abet:une [mos ..^$] - :: - %plug - ?. (~(has by sor.ruf) +.q.hic) `..^$ - :_ ..^$(sor.ruf (~(del by sor.ruf) +.q.hic)) - =+ hyn=hen:(~(got by sor.ruf) +.q.hic) - :~ :* hyn %pass - /auto/(scot %p p.q.hic)/[q.q.hic]/(scot %p r.q.hic)/[s.q.hic] - %c %warp [p.q.hic r.q.hic] s.q.hic ~ - == - == :: %warp =^ mos ruf @@ -2466,7 +2469,6 @@ :~ commits/`hut.ran.ruf blobs/`lat.ran.ruf == - autosync/`sor.ruf == == :: @@ -2527,55 +2529,6 @@ =+ woo=abet:wao =+ sip=wake:(pish:une syd +.woo ran.wao) [(weld -.sip -.woo) ..^$(ruf abet:[+.sip])] - ?: ?=([%auto @ @ @ @ ~] tea) - =+ our=(slav %p i.t.tea) - =* syd i.t.t.tea - =+ her=(slav %p i.t.t.t.tea) - =* sud i.t.t.t.t.tea - ?+ +<.q.hin ~|(%weird-auto !!) - %mere - =+ nex=+(let:(~(got by sor.ruf) our syd her sud)) - =. sor.ruf (~(put by sor.ruf) [our syd her sud] [nex hen]) - =+ `move`[hen %pass tea %c %warp [our her] sud ~ %sing %y [%ud nex] /] - ?: ?=(%& -.p.+.q.hin) - :: ~& ['merge succeeded' p.p.+.q.hin] - [[- ~] ..^$] - ~> %slog. - :^ 0 %rose [" " "[" "]"] - :^ leaf/"merge failed" - leaf/"please manually merge the desks with" - leaf/":helm+merge %{(trip syd)} {(scow %p her)} %{(trip sud)}" - :- >p.p.p.+.q.hin< - q.p.p.+.q.hin - [[- ~] ..^$] - :: - %writ - =+ nex=let:(~(got by sor.ruf) our syd her sud) - [[hen %pass tea %c %merg our syd her sud %mate]~ ..^$] - :: ?~ p.q.hin - :: ~& "bad %writ response on autosync" - :: [~ ..^$] - :: =. sor.ruf - :: ?. ?=(%w p.p.u.p.q.hin) - :: sor.ruf - :: %+ ~(put by sor.ruf) - :: [our syd her sud] - :: [((hard ,@ud) q.q.r.u.p.q.hin) hen] - ::=+ nex=let:(~(got by sor.ruf) our syd her sud) - ::=+ (~(get by fat.ruf) our) - ::?~ - - :: ~& [%autsync-no-local-ship our] - :: [~ ..^$] - ::=+ (~(get by dos.u.-) syd) - ::=+ ^= sar - :: ?~ - - :: %init - :: ?: =(0 let.dom.u.-) - :: %init - :: %mate - ::[[hen %pass tea %c %merg our syd her sud sar]~ ..^$] - :: %c %merg [p q r s %init]:q.hic - == ?: ?=([%blab care @ @ *] tea) ?> ?=(%made +<.q.hin) ?. ?=(%& -.q.q.hin) @@ -2705,7 +2658,18 @@ [mos ..^$(ran.ruf ran.zat)] == :: - %mere !! + %mere + ?: ?=(%& -.p.+.q.hin) + ~& 'inital merge succeeded' + [~ ..^$] + ~> %slog. + :^ 0 %rose [" " "[" "]"] + :^ leaf/"initial merge failed" + leaf/"my most sincere apologies" + >p.p.p.+.q.hin< + q.p.p.+.q.hin + [~ ..^$] + :: %note [[hen %give +.q.hin]~ ..^$] %waft ?> ?=([@ @ ~] tea) diff --git a/base/arvo/dill.hoon b/base/arvo/dill.hoon index c70b5a9d7..dad7a1689 100644 --- a/base/arvo/dill.hoon +++ b/base/arvo/dill.hoon @@ -56,7 +56,7 @@ [%sith p=@p q=@uw r=?] :: == :: ++ note-clay :: - $% [%font p=@p q=@tas r=@p s=@tas] :: + $% [%merg p=@p q=@tas r=@p s=@tas t=germ] :: merge desks [%warp p=sock q=riff] :: wait for clay, hack == :: ++ note-dill :: note to self, odd @@ -221,10 +221,13 @@ =+ myt=(flop (need tem)) =+ can=(clan our) =. tem ~ - =. moz :_(moz [hen %pass / %c %font our %home our %base]) - =. moz ?. ?=(?(%king %czar) can) moz - :_(moz [hen %pass / %c %font our %kids our %base]) + =. moz :_(moz [hen %pass / %c %merg our %home our %base %init]) =. moz :_(moz [hen %pass ~ %g %conf [[our ram] %load our %home]]) + =. +> ?: ?=(%czar can) +> + (sync %base (sein our) %kids) + =. +> (sync %home our %base) + =. +> ?. ?=(?(%king %czar) can) +> + (sync %kids our %base) =. +> peer |- ^+ +>+ ?~ myt +>+ @@ -259,6 +262,14 @@ :_(moz [hen %pass ~ %g %deal [our our] ram %peer /drum]) == :: + ++ sync + |= syn=[desk ship desk] + %_ +>.$ + moz + :_ moz + [hen %pass ~ %g %deal [our our] ram %poke %hood-sync -:!>(syn) syn] + == + :: ++ pump :: send diff ack %_ . moz diff --git a/base/arvo/gall.hoon b/base/arvo/gall.hoon index 53ba30dc3..2209bd6f8 100644 --- a/base/arvo/gall.hoon +++ b/base/arvo/gall.hoon @@ -1023,11 +1023,9 @@ %deal `%g %exec `%f %flog `%d - %font `%c %info `%c %lynx `%c %merg `%c - %plug `%c %them `%e %wait `%t %want `%a diff --git a/base/arvo/zuse.hoon b/base/arvo/zuse.hoon index 835cf505a..12fa806cd 100644 --- a/base/arvo/zuse.hoon +++ b/base/arvo/zuse.hoon @@ -2337,13 +2337,11 @@ [%writ p=riot] :: response == :: ++ kiss-clay :: in request ->$ - $% [%font p=@p q=@tas r=@p s=@tas] :: set upstream - [%info p=@p q=@tas r=nori] :: internal edit + $% [%info p=@p q=@tas r=nori] :: internal edit [%init p=@p] :: report install [%into p=@p q=@tas r=khan] :: external edit [%lynx p=@p q=@tas r=(unit ,?)] :: sync to unix [%merg p=@p q=@tas r=@p s=@tas t=germ] :: merge desks - [%plug p=@p q=@tas r=@p s=@tas] :: unset upstream [%wart p=sock q=@tas r=path s=*] :: network request [%warp p=sock q=riff] :: file request [%wegh ~] :: report memory diff --git a/base/lib/helm/core.hook b/base/lib/helm/core.hook index 45aa40bfc..84058474a 100644 --- a/base/lib/helm/core.hook +++ b/base/lib/helm/core.hook @@ -46,14 +46,14 @@ $% [%cash wire p=@p q=buck] :: [%conf wire dock %load ship term] :: [%flog wire flog] :: - [%plug wire @p @tas @p @tas] :: [%poke wire dock pear] :: [%want wire sock path *] :: send message == :: ++ move (pair bone card) :: user-level move ++ pear :: poke fruit - $% [%talk-command command:talk] :: - == + $% [%hood-unsync desk ship desk] :: + [%talk-command command:talk] :: + == :: -- |_ moz=(list move) ++ abet :: resolve @@ -138,7 +138,8 @@ =< abet %- emil(bur ~) :~ [%cash /helm p.u.bur q.u.bur u.wil] - [%plug /helm our %home (sein our) %kids] + ~& [%unsyncing our %base (sein our) %kids] + [%poke /helm [our %hood] %hood-unsync %base (sein our) %kids] == :: ++ poke-verb :: toggle verbose diff --git a/base/lib/kiln/core.hook b/base/lib/kiln/core.hook index 70d41682b..f738975cd 100644 --- a/base/lib/kiln/core.hook +++ b/base/lib/kiln/core.hook @@ -30,6 +30,11 @@ her=ship :: sud=desk :: == :: +++ hood-unsync :: + $: syd=desk :: + her=ship :: + sud=desk :: + == :: ++ hood-merge :: $: syd=desk :: ali=ship :: @@ -49,11 +54,9 @@ => |% :: arvo structures ++ card :: $% [%exec wire @p beak (unit silk)] :: - [%font wire @p @tas @p @tas] :: [%info wire @p @tas nori] :: [%lynx wire @p @tas (unit ,?)] :: [%merg wire @p @tas @p @tas germ] :: - [%plug wire @p @tas @p @tas] :: [%poke wire dock pear] :: [%warp wire sock riff] :: == :: @@ -84,6 +87,15 @@ abet:(spam leaf/- ~) abet:abet:start:(auto hos) :: + ++ poke-unsync :: + |= hus=hood-unsync + ?. (~(has by syn) hus) + =+ "not syncing from {} on {} to {}" + abet:(spam leaf/- ~) + %* . abet:abet:stop:(auto hus) + syn (~(del by syn) hus) + == + :: ++ poke-merge :: |= hood-merge abet:abet:(merge:(work syd) ali sud gim) @@ -93,6 +105,7 @@ =+ syd=q:(need (tome pax)) =- abet:abet:(spam:(work syd) leaf/mez ~) (emit %info /kiln our tor) + :: ++ poke-rm |=(a=path (do-info "removed" a (fray a))) ++ poke-cp |= [input=path output=path] @@ -158,6 +171,14 @@ +>.$(moz (welp new moz)) :: ++ spam |*(* %_(+> ..auto (^spam +<))) + ++ stop + => (spam leaf/"ended autosync from {} on {} to {}" ~) + %- blab :_ ~ + :* ust %warp + /kiln/sync/[syd]/(scot %p her)/[sud] + [our her] sud ~ + == + :: ++ start =. . %- spam [leaf/"activated sync from {} on {} to {}" ~]