Mercurial > public > mercurial-scm > hg
diff tests/test-help.t @ 32255:7e35d31b41fd
filemerge: add internal merge tool to dump files forcibly
Internal merge tool :dump implies premerge. Therefore, files aren't
dumped, if premerge runs successfully.
This undocumented behavior might confuse users, if they want to always
dump files. But just making :dump omit premerge might cause backward
compatibility issue for existing automation.
This patch adds new internal merge tool :forcedump, which works as
same as :dump, but omits premerge always.
Internal tools annotated with "nomerge" should merge "change and
delete" correctly, but _forcedump() can't. Therefore, it is annotated
with "mergeonly" to always omit premerge, even though it doesn't merge
files actually.
This patch also adds explanation about premerge to :dump, to clarify
how :dump actually works.
BTW, this patch specifies internal tools with "internal:" prefix in
newly added test scenario in test-merge-tools.t, even though this
prefix is already deprecated. This is only for similarity to other
tests in test-merge-tools.t.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Sat, 13 May 2017 03:31:42 +0900 |
parents | 247bb7a2c492 |
children | 9bc36198338e |
line wrap: on
line diff
--- a/tests/test-help.t Sat May 13 03:28:36 2017 +0900 +++ b/tests/test-help.t Sat May 13 03:31:42 2017 +0900 @@ -1760,11 +1760,18 @@ accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and they will be placed in the same directory as "a.txt". + This implies permerge. Therefore, files aren't dumped, if premerge runs + successfully. Use :forcedump to forcibly write files out. + ":fail" Rather than attempting to merge files that were modified on both branches, it marks them as unresolved. The resolve command must be used to resolve these conflicts. + ":forcedump" + Creates three versions of the files as same as :dump, but omits + premerge. + ":local" Uses the local 'p1()' version of files as the merged version.