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