@@ -97,12 +97,14 @@ class mergestate(object):
f.write(_pack(format, key, len(data), data))
f.close()
def add(self, fcl, fco, fca, fd):
hash = util.sha1(fcl.path()).hexdigest()
self._repo.opener.write("merge/" + hash, fcl.data())
- self._state[fd] = ['u', hash, fcl.path(), fca.path(),
- hex(fca.filenode()), fco.path(), fcl.flags()]
+ self._state[fd] = ['u', hash, fcl.path(),
+ fca.path(), hex(fca.filenode()),
+ fco.path(), hex(fco.filenode()),
+ fcl.flags()]
self._dirty = True
def __contains__(self, dfile):
return dfile in self._state
def __getitem__(self, dfile):
return self._state[dfile][0]
@@ -117,11 +119,12 @@ class mergestate(object):
self._state[dfile][0] = state
self._dirty = True
def resolve(self, dfile, wctx, octx):
if self[dfile] == 'r':
return 0
- state, hash, lfile, afile, anode, ofile, flags = self._state[dfile]
+ stateentry = self._state[dfile]
+ state, hash, lfile, afile, anode, ofile, onode, flags = stateentry
fcd = wctx[dfile]
fco = octx[ofile]
fca = self._repo.filectx(afile, fileid=anode)
# "premerge" x flags
flo = fco.flags()