%init doesn't require new desk

This commit is contained in:
Philip C Monk 2015-09-10 20:25:27 -04:00
parent 6c6f336a38
commit 73a5596168
3 changed files with 34 additions and 29 deletions

View File

@ -1786,37 +1786,10 @@
|-
?- gem.dat
%init
?. =(let.dom 0)
(error:he %bad-init-merge ~)
:: skim hook/hoon files
=. new.dat ali.dat
=. hut.ran (~(put by hut.ran) r.new.dat new.dat)
=. erg.dat (~(run by q.ali.dat) |=(lobe %&))
checkout
::
%fine
?: =(r.ali.dat r.bob.dat)
:: ~& [%fine-trivial ali=<ali> bob=<bob> r.ali.dat r.bob.dat]
done:he
?: (~(has in (reachable-takos r.bob.dat)) r.ali.dat)
:: ~& [%fine-mostly-trivial ali=<ali> bob=<bob>]
done:he
?. (~(has in (reachable-takos r.ali.dat)) r.bob.dat)
:: ~& [%fine-not-so-trivial ali=<ali> bob=<bob>]
(error:he %bad-fine-merge ~)
:: ~& [%fine-lets-go ali=<ali> bob=<bob>]
=. new.dat ali.dat
=. erg.dat
%- mo ^- (list ,[path ?])
%+ murn (~(tap by (~(uni by q.bob.dat) q.ali.dat)))
|= [pax=path lob=lobe]
^- (unit ,[path ?])
=+ a=(~(get by q.ali.dat) pax)
=+ b=(~(get by q.bob.dat) pax)
?: =(a b)
~
`[pax !=(~ a)]
checkout
::
%this
?: =(r.ali.dat r.bob.dat) done:he
@ -1841,6 +1814,30 @@
~
`[pax !=(~ a)]
checkout
::
%fine
?: =(r.ali.dat r.bob.dat)
:: ~& [%fine-trivial ali=<ali> bob=<bob> r.ali.dat r.bob.dat]
done:he
?: (~(has in (reachable-takos r.bob.dat)) r.ali.dat)
:: ~& [%fine-mostly-trivial ali=<ali> bob=<bob>]
done:he
?. (~(has in (reachable-takos r.ali.dat)) r.bob.dat)
:: ~& [%fine-not-so-trivial ali=<ali> bob=<bob>]
(error:he %bad-fine-merge ~)
:: ~& [%fine-lets-go ali=<ali> bob=<bob>]
=. new.dat ali.dat
=. erg.dat
%- mo ^- (list ,[path ?])
%+ murn (~(tap by (~(uni by q.bob.dat) q.ali.dat)))
|= [pax=path lob=lobe]
^- (unit ,[path ?])
=+ a=(~(get by q.ali.dat) pax)
=+ b=(~(get by q.bob.dat) pax)
?: =(a b)
~
`[pax !=(~ a)]
checkout
::
?(%meet %mate %meld)
?: =(r.ali.dat r.bob.dat)

View File

@ -1984,7 +1984,15 @@
== ::
++ gilt ,[@tas *] :: presumed gift
++ gens ,[p=lang q=gcos] :: general identity
++ germ ?(%init %fine %that %this %mate %meet %meld) :: merge style
++ germ :: merge style
$? %init :: new desk
%this :: ours with parents
%that :: hers with parents
%fine :: fast forward
%meet :: orthogonal files
%mate :: orthogonal changes
%meld :: force merge
== ::
++ gcos :: id description
$% [%czar ~] :: 8-bit ship
[%duke p=what] :: 32-bit ship

View File

@ -419,7 +419,7 @@
=> =+ :- "%mate merge failed with conflicts,"
"setting up scratch space at %{(trip tic)}"
[tic=tic (spam leaf/-< leaf/-> q.p.are)]
(fancy-merge tic our syd %that)
(fancy-merge tic our syd %init)
==
::
++ tape-to-tanks