master branch ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data master branch
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data master branch ?
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data master branch ? ?
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data master branch ? ? ?
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data master branch ? ? ? ?
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data master branch ? ? ? ? Nearest common ancestor var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor master branch
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo”
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo”
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var data = {} for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) def getData(string path)
? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var data = {} for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) def getData(string path)
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {}
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} ?????????????
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} ?????????????
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} var data = Map() for l in visit(path)
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} var data = Map() for l in visit(path)
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} var data = Map() for l in visit(path) data[l.id] = l.data
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} var data = Map() for l in visit(path) data[l.id] = l.data
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} var data = Map() for l in visit(path) data[l.id] = l.data return data.JSON()
def getData(string path) ? var a = “foo” def getData(string path) var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() var a = “foo” def getData(URI path) var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” def getData(string path) var data = {} for l in visit(path) data[l.slot] = l.data return data ancestor merge ancestor master branch var data = Map() for l in visit(path) data[l.slot] = l.data return data.JSON() for l in visit(path) data[l.slot] = l.data return data var data = Array() for l in visit(path) data[l.id] = l.data return data var a = “foo” var a = “foo” var a = “foo” var a = “foo” def getData(string path) def getData(URI path) var data = {} var data = Map() for l in visit(path) data[l.id] = l.data return data.JSON()
Finally - don’t be afraid of recursive merge - merge a ->b == merge b ->a - merge == rebase - prefer merge over rebase - merge will never never let you down