Mercurial > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
32254:177742666abd | 32255:7e35d31b41fd |
---|---|
1758 local, other and base. These files can then be used to perform a merge | 1758 local, other and base. These files can then be used to perform a merge |
1759 manually. If the file to be merged is named "a.txt", these files will | 1759 manually. If the file to be merged is named "a.txt", these files will |
1760 accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and | 1760 accordingly be named "a.txt.local", "a.txt.other" and "a.txt.base" and |
1761 they will be placed in the same directory as "a.txt". | 1761 they will be placed in the same directory as "a.txt". |
1762 | 1762 |
1763 This implies permerge. Therefore, files aren't dumped, if premerge runs | |
1764 successfully. Use :forcedump to forcibly write files out. | |
1765 | |
1763 ":fail" | 1766 ":fail" |
1764 Rather than attempting to merge files that were modified on both | 1767 Rather than attempting to merge files that were modified on both |
1765 branches, it marks them as unresolved. The resolve command must be used | 1768 branches, it marks them as unresolved. The resolve command must be used |
1766 to resolve these conflicts. | 1769 to resolve these conflicts. |
1770 | |
1771 ":forcedump" | |
1772 Creates three versions of the files as same as :dump, but omits | |
1773 premerge. | |
1767 | 1774 |
1768 ":local" | 1775 ":local" |
1769 Uses the local 'p1()' version of files as the merged version. | 1776 Uses the local 'p1()' version of files as the merged version. |
1770 | 1777 |
1771 ":merge" | 1778 ":merge" |