# HG changeset patch # User Durham Goode # Date 2016-11-10 10:21:15 # Node ID 3c6893ba2d363672d36694544af74624fca178be # Parent 1070df141718b0ab21913b4ef99cf4f28f2c0f92 merge: change modified indicator to be 20 bytes Previously we indicated that the .hgsubstate file was dirty by adding a '+' to the end of its hash in the wctx manifest. This made is complicated to have new manifest implementations that rely on the node length being fixed. In previous patches we added added and modified node placeholders, so let's use those to indicate dirty here as well. It doesn't look like anything ever depended on this '+' (aside from it being different to the parent), so nothing else needed to change here. diff --git a/mercurial/merge.py b/mercurial/merge.py --- a/mercurial/merge.py +++ b/mercurial/merge.py @@ -18,6 +18,7 @@ from .node import ( addednodeid, bin, hex, + modifiednodeid, nullhex, nullid, nullrev, @@ -815,7 +816,7 @@ def manifestmerge(repo, wctx, p2, pa, br if '.hgsubstate' in m1: # check whether sub state is modified if any(wctx.sub(s).dirty() for s in wctx.substate): - m1['.hgsubstate'] += '+' + m1['.hgsubstate'] = modifiednodeid # Compare manifests if matcher is not None: