merge: change modified indicator to be 20 bytes
authorDurham Goode <durham@fb.com>
Thu, 10 Nov 2016 02:21:15 -0800
changeset 30362 3c6893ba2d36
parent 30361 1070df141718
child 30363 a1259e502bdf
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.
mercurial/merge.py
--- a/mercurial/merge.py	Thu Nov 10 02:19:16 2016 -0800
+++ b/mercurial/merge.py	Thu Nov 10 02:21:15 2016 -0800
@@ -18,6 +18,7 @@
     addednodeid,
     bin,
     hex,
+    modifiednodeid,
     nullhex,
     nullid,
     nullrev,
@@ -815,7 +816,7 @@
     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: