# HG changeset patch # User Matt Mackall # Date 1421009509 21600 # Node ID 20b5701cd90ad397f3cd464b20ccd4b64c4b399a # Parent 83f361a21d31cb5cfe94ab494e344247ef4ff07d readmarkers: read node reading into node length conditional This removes some conditional assignments diff -r 83f361a21d31 -r 20b5701cd90a mercurial/obsolete.py --- a/mercurial/obsolete.py Sun Jan 11 14:46:55 2015 -0600 +++ b/mercurial/obsolete.py Sun Jan 11 14:51:49 2015 -0600 @@ -294,23 +294,30 @@ o1 = off + _fm1fsize t, secs, tz, flags, numsuc, numpar, nummeta, prec = ufixed(data[off:o1]) - _fm1node = _fm1nodesha1 - fnodesize = _fm1nodesha1size if flags & usingsha256: - _fm1node = _fm1nodesha256 - fnodesize = _fm1nodesha256size + # read 0 or more successors + o2 = o1 + _fm1nodesha256size * numsuc + sucs = _unpack(_fm1nodesha256 * numsuc, data[o1:o2]) - # read 0 or more successors - o2 = o1 + fnodesize * numsuc - sucs = _unpack(_fm1node * numsuc, data[o1:o2]) + # read parents + if numpar == _fm1parentnone: + o3 = o2 + parents = None + else: + o3 = o2 + _fm1nodesha256size * numpar + parents = _unpack(_fm1nodesha256 * numpar, data[o2:o3]) + else: + # read 0 or more successors + o2 = o1 + _fm1nodesha1size * numsuc + sucs = _unpack(_fm1nodesha1 * numsuc, data[o1:o2]) - # read parents - if numpar == _fm1parentnone: - o3 = o2 - parents = None - else: - o3 = o2 + fnodesize * numpar - parents = _unpack(_fm1node * numpar, data[o2:o3]) + # read parents + if numpar == _fm1parentnone: + o3 = o2 + parents = None + else: + o3 = o2 + _fm1nodesha1size * numpar + parents = _unpack(_fm1nodesha1 * numpar, data[o2:o3]) # read metadata metaformat = '>' + (_fm1metapair * nummeta)