mirror of
https://github.com/ilyakooo0/urbit.git
synced 2024-11-28 19:55:53 +03:00
fixed lose-changes-when-unrelated-conflict bug
This commit is contained in:
parent
0bfa034edb
commit
06bda9cd8c
@ -1933,15 +1933,18 @@
|
|||||||
|= [pax=path lob=lobe]
|
|= [pax=path lob=lobe]
|
||||||
(~(has by q.bas.dat) pax)
|
(~(has by q.bas.dat) pax)
|
||||||
=. cal.dal.dat
|
=. cal.dal.dat
|
||||||
%- mo
|
%- mo ^- (list (pair path lobe))
|
||||||
%+ skim (~(tap by q.bas.dat))
|
%+ murn (~(tap by q.bas.dat))
|
||||||
|= [pax=path lob=lobe]
|
|= [pax=path lob=lobe]
|
||||||
|
^- (unit (pair path lobe))
|
||||||
=+ a=(~(get by q.ali.dat) pax)
|
=+ a=(~(get by q.ali.dat) pax)
|
||||||
=+ b=(~(get by q.bob.dat) pax)
|
=+ b=(~(get by q.bob.dat) pax)
|
||||||
?& ?=(^ a)
|
?. ?& ?=(^ a)
|
||||||
!=([~ lob] a)
|
!=([~ lob] a)
|
||||||
=([~ lob] b)
|
=([~ lob] b)
|
||||||
==
|
==
|
||||||
|
~
|
||||||
|
`[pax +.a]
|
||||||
=. can.dal.dat p.can
|
=. can.dal.dat p.can
|
||||||
=. old.dal.dat
|
=. old.dal.dat
|
||||||
%- mo ^- (list ,[path ~])
|
%- mo ^- (list ,[path ~])
|
||||||
@ -1973,15 +1976,18 @@
|
|||||||
|= [pax=path lob=lobe]
|
|= [pax=path lob=lobe]
|
||||||
(~(has by q.bas.dat) pax)
|
(~(has by q.bas.dat) pax)
|
||||||
=. cal.dob.dat
|
=. cal.dob.dat
|
||||||
%- mo
|
%- mo ^- (list (pair path lobe))
|
||||||
%+ skim (~(tap by q.bas.dat))
|
%+ murn (~(tap by q.bas.dat))
|
||||||
|= [pax=path lob=lobe]
|
|= [pax=path lob=lobe]
|
||||||
|
^- (unit (pair path lobe))
|
||||||
=+ a=(~(get by q.ali.dat) pax)
|
=+ a=(~(get by q.ali.dat) pax)
|
||||||
=+ b=(~(get by q.bob.dat) pax)
|
=+ b=(~(get by q.bob.dat) pax)
|
||||||
?& ?=(^ b)
|
?. ?& ?=(^ b)
|
||||||
!=([~ lob] b)
|
!=([~ lob] b)
|
||||||
=([~ lob] a)
|
=([~ lob] a)
|
||||||
==
|
==
|
||||||
|
~
|
||||||
|
`[pax +.b]
|
||||||
=. can.dob.dat p.can
|
=. can.dob.dat p.can
|
||||||
=. old.dob.dat
|
=. old.dob.dat
|
||||||
%- mo ^- (list ,[path ~])
|
%- mo ^- (list ,[path ~])
|
||||||
@ -2070,7 +2076,7 @@
|
|||||||
%- ~(urn by con)
|
%- ~(urn by con)
|
||||||
|= [pax=path *]
|
|= [pax=path *]
|
||||||
(~(got by q.bas.dat) pax)
|
(~(got by q.bas.dat) pax)
|
||||||
=. con :: add/del conflict
|
=. con :: change/del conflict
|
||||||
%- ~(uni by con)
|
%- ~(uni by con)
|
||||||
%- mo ^- (list ,[path *])
|
%- mo ^- (list ,[path *])
|
||||||
%+ skim (~(tap by old.dal.dat))
|
%+ skim (~(tap by old.dal.dat))
|
||||||
@ -2079,7 +2085,7 @@
|
|||||||
~| %strange-add-and-del
|
~| %strange-add-and-del
|
||||||
!!
|
!!
|
||||||
(~(has by can.dob.dat) pax)
|
(~(has by can.dob.dat) pax)
|
||||||
=. con :: add/del conflict
|
=. con :: change/del conflict
|
||||||
%- ~(uni by con)
|
%- ~(uni by con)
|
||||||
%- mo ^- (list ,[path *])
|
%- mo ^- (list ,[path *])
|
||||||
%+ skim (~(tap by old.dob.dat))
|
%+ skim (~(tap by old.dob.dat))
|
||||||
@ -2126,6 +2132,13 @@
|
|||||||
[(lobe-to-mark u.-) u.-]
|
[(lobe-to-mark u.-) u.-]
|
||||||
[p q.q]:cay
|
[p q.q]:cay
|
||||||
[(~(put by hat) pax p.bol) (~(put by lat) p.bol bol)]
|
[(~(put by hat) pax p.bol) (~(put by lat) p.bol bol)]
|
||||||
|
:: ~& old=(~(run by old) mug)
|
||||||
|
:: ~& newdal=(~(run by new.dal.dat) mug)
|
||||||
|
:: ~& newdob=(~(run by new.dob.dat) mug)
|
||||||
|
:: ~& caldal=(~(run by cal.dal.dat) mug)
|
||||||
|
:: ~& caldob=(~(run by cal.dob.dat) mug)
|
||||||
|
:: ~& hot=(~(run by hot) mug)
|
||||||
|
:: ~& cas=(~(run by cas) mug)
|
||||||
=+ ^- hat=(map path lobe) :: all the content
|
=+ ^- hat=(map path lobe) :: all the content
|
||||||
%- ~(uni by old)
|
%- ~(uni by old)
|
||||||
%- ~(uni by new.dal.dat)
|
%- ~(uni by new.dal.dat)
|
||||||
@ -2134,6 +2147,7 @@
|
|||||||
%- ~(uni by cal.dob.dat)
|
%- ~(uni by cal.dob.dat)
|
||||||
%- ~(uni by hot)
|
%- ~(uni by hot)
|
||||||
cas
|
cas
|
||||||
|
:: ~& > hat=(~(run by hat) mug)
|
||||||
=+ ^- del=(map path ,?)
|
=+ ^- del=(map path ,?)
|
||||||
(~(run by (~(uni by old.dal.dat) old.dob.dat)) |=(~ %|))
|
(~(run by (~(uni by old.dal.dat) old.dob.dat)) |=(~ %|))
|
||||||
=. gon.dat [%& (sa (turn (~(tap by con)) head))]
|
=. gon.dat [%& (sa (turn (~(tap by con)) head))]
|
||||||
|
Loading…
Reference in New Issue
Block a user