D9026: configitems: add a new config option to control new filenode functionality

pulkit (Pulkit Goyal) phabricator at mercurial-scm.org
Thu Sep 17 09:49:04 UTC 2020


pulkit created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.

REVISION SUMMARY
  This series is adding functionality where we can force create a new filenode for
  some files on a merge-commit. This is meant to represent an explicit choice made
  by user and hence distingusing the file in the merged commit with the file in
  parent by creating a new filenode instead of using the parent one.
  
  This introduces a experimental config option under which this functionality
  will be hidden.

REPOSITORY
  rHG Mercurial

BRANCH
  default

REVISION DETAIL
  https://phab.mercurial-scm.org/D9026

AFFECTED FILES
  mercurial/configitems.py
  tests/test-merge-criss-cross.t

CHANGE DETAILS

diff --git a/tests/test-merge-criss-cross.t b/tests/test-merge-criss-cross.t
--- a/tests/test-merge-criss-cross.t
+++ b/tests/test-merge-criss-cross.t
@@ -486,6 +486,14 @@
 explicit choices made by users to revert the removal and on criss-cross merging
 removes the file again.
 
+Enable the config option
+------------------------
+
+  $ cat >> $HGRCPATH <<EOF
+  > [experimental]
+  > merge-track-undeleted = True
+  > EOF
+
 "Simple" case where the filenode changes
 ----------------------------------------
 
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -590,6 +590,11 @@
 coreconfigitem(
     b'experimental', b'maxdeltachainspan', default=-1,
 )
+# tracks files which were undeleted (merge might delete them but we explicitly
+# kept/undeleted them) and creates new filenodes for them
+coreconfigitem(
+    b'experimental', b'merge-track-undeleted', default=False,
+)
 coreconfigitem(
     b'experimental', b'mergetempdirprefix', default=None,
 )



To: pulkit, #hg-reviewers
Cc: mercurial-patches, mercurial-devel


More information about the Mercurial-devel mailing list