shrub/try/bin/merge.hoon

38 lines
918 B
Plaintext
Raw Normal View History

2014-05-20 22:53:49 +04:00
!:
:: /=try=/bin/merge/hoon
2014-05-31 02:59:58 +04:00
:: Call with two desks and an optional germ as a merge option
2014-05-20 22:53:49 +04:00
::
=> .(-< `who=@p`-<)
=> .(+ =>(+ ^/=/main/=/lib/pony))
2014-05-20 22:53:49 +04:00
|= [est=time eny=@uw]
2014-05-31 02:59:58 +04:00
|= $: pes=[ses=span des=span cas=span ~]
pen=[sen=span den=span can=span ~]
gem=$|([germ ~] ~)
==
=+ vsr=((hard dome) .^(%cv pes))
=+ ves=((hard dome) .^(%cv pen))
%- (posh (add ~s1 est))
|= tim=@da
2014-05-20 22:53:49 +04:00
^- bowl
:_ ~
^- (list gift)
:_ ~
=+ ran=((hard rang) .^(%cu /(scot %p who)/main/(scot %da tim)))
2014-05-31 02:59:58 +04:00
=+ ^= sab ^- saba :*
2014-06-01 01:11:11 +04:00
(need (slaw 'p' ses.pes))
des.pes
2014-05-31 02:59:58 +04:00
[0 let.vsr]
vsr
2014-05-31 02:59:58 +04:00
==
2014-06-01 01:11:11 +04:00
=+ ^= lum
%- ~(auld ze est ves ran)
[?~(gem %fine -.gem) (need (slaw 'p' sen.pen)) den.pen sab est]
2014-05-20 22:53:49 +04:00
?~ lum
2014-05-31 02:59:58 +04:00
^- gift
:* %la %leaf
2014-06-07 21:42:48 +04:00
"{(trip des.pes)} failed to apply, please rerun with a merge option"
2014-05-31 02:59:58 +04:00
==
2014-05-20 22:53:49 +04:00
?~ u.lum
`gift`[%la %leaf "{(trip den.pen)} is up to date"]
`gift`[%og den.pen u.u.lum]