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"