Mercurial > hg
comparison tests/test-help.t @ 39121:7c6044634957
help: describe more detail about capabilities while deciding merge tool
"hg help merge-tools" describes as below:
(internal merge tools) will by default not handle symlinks or
binary files.
But in some cases, Mercurial assumes that internal merge tools have
one or both of these capabilities.
"hg help merge-tools" also describes as below, for matching patterns in
merge-patterns configuration section. But this is not sufficient.
Here, binary capabilities of the merge tool are not considered.
This patch describes more detail about capabilities while deciding
merge tool.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 14 Aug 2018 20:05:36 +0900 |
parents | 5199c5b6fd29 |
children | cded904f7acc |
comparison
equal
deleted
inserted
replaced
39120:d7007b807fa2 | 39121:7c6044634957 |
---|---|
1890 must be executable by the shell. | 1890 must be executable by the shell. |
1891 2. If the "HGMERGE" environment variable is present, its value is used and | 1891 2. If the "HGMERGE" environment variable is present, its value is used and |
1892 must be executable by the shell. | 1892 must be executable by the shell. |
1893 3. If the filename of the file to be merged matches any of the patterns in | 1893 3. If the filename of the file to be merged matches any of the patterns in |
1894 the merge-patterns configuration section, the first usable merge tool | 1894 the merge-patterns configuration section, the first usable merge tool |
1895 corresponding to a matching pattern is used. Here, binary capabilities | 1895 corresponding to a matching pattern is used. |
1896 of the merge tool are not considered. | |
1897 4. If ui.merge is set it will be considered next. If the value is not the | 1896 4. If ui.merge is set it will be considered next. If the value is not the |
1898 name of a configured tool, the specified value is used and must be | 1897 name of a configured tool, the specified value is used and must be |
1899 executable by the shell. Otherwise the named tool is used if it is | 1898 executable by the shell. Otherwise the named tool is used if it is |
1900 usable. | 1899 usable. |
1901 5. If any usable merge tools are present in the merge-tools configuration | 1900 5. If any usable merge tools are present in the merge-tools configuration |
1903 6. If a program named "hgmerge" can be found on the system, it is used - | 1902 6. If a program named "hgmerge" can be found on the system, it is used - |
1904 but it will by default not be used for symlinks and binary files. | 1903 but it will by default not be used for symlinks and binary files. |
1905 7. If the file to be merged is not binary and is not a symlink, then | 1904 7. If the file to be merged is not binary and is not a symlink, then |
1906 internal ":merge" is used. | 1905 internal ":merge" is used. |
1907 8. Otherwise, ":prompt" is used. | 1906 8. Otherwise, ":prompt" is used. |
1907 | |
1908 For historical reason, Mercurial assumes capabilities of internal merge | |
1909 tools as below while examining rules above, regardless of actual | |
1910 capabilities of them. | |
1911 | |
1912 step specified via binary symlink | |
1913 ---------------------------------- | |
1914 1. --tool o o | |
1915 2. HGMERGE o o | |
1916 3. merge-patterns o x | |
1917 4. ui.merge x x | |
1908 | 1918 |
1909 Note: | 1919 Note: |
1910 After selecting a merge program, Mercurial will by default attempt to | 1920 After selecting a merge program, Mercurial will by default attempt to |
1911 merge the files using a simple merge algorithm first. Only if it | 1921 merge the files using a simple merge algorithm first. Only if it |
1912 doesn't succeed because of conflicting changes will Mercurial actually | 1922 doesn't succeed because of conflicting changes will Mercurial actually |