comparison mercurial/help/merge-tools.txt @ 12824:93d6559a9cbc stable

merge-tools.txt: fix typos, simplify, renumber from 1.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 24 Oct 2010 12:55:29 +0200
parents e5922564ab01
children 4d622380ab39
comparison
equal deleted inserted replaced
12823:80deae3bc5ea 12824:93d6559a9cbc
17 programs but relies on external tools for that. 17 programs but relies on external tools for that.
18 18
19 Available merge tools 19 Available merge tools
20 """"""""""""""""""""" 20 """""""""""""""""""""
21 21
22 External merge tools and their properties and usage is configured in the 22 External merge tools and their properties are configured in the
23 merge-tools configuration section - see hgrc(5) - but they can often also just 23 merge-tools configuration section - see hgrc(5) - but they can often just
24 be named by their executable. 24 be named by their executable.
25 25
26 A merge tool is generally usable if its executable can be found on the 26 A merge tool is generally usable if its executable can be found on the
27 system and if it can handle the merge. The executable can be found on the 27 system and if it can handle the merge. The executable is found if it
28 system if it either is an absolute or relative executable path or the name of 28 is an absolute or relative executable path or the name of an
29 an application in the executable search path. The tool is assumed to be able 29 application in the executable search path. The tool is assumed to be
30 to handle the merge if it can handle symlinks if the file is a symlink, if it 30 able to handle the merge if it can handle symlinks if the file is a
31 can handle binary files if the file is binary, and if a GUI is available if the 31 symlink, if it can handle binary files if the file is binary, and if a
32 tool requires a GUI. 32 GUI is available if the tool requires a GUI.
33 33
34 There are a some internal merge tools which can be used. The internal 34 There are a some internal merge tools which can be used. The internal
35 merge tools are: 35 merge tools are:
36 36
37 ``internal:merge`` 37 ``internal:merge``
65 not handle symlinks or binary files. 65 not handle symlinks or binary files.
66 66
67 Choosing a merge tool 67 Choosing a merge tool
68 """"""""""""""""""""" 68 """""""""""""""""""""
69 69
70 Mercurial uses these rules when decing which merge tool to use: 70 Mercurial uses these rules when deciding which merge tool to use:
71 71
72 0. If a tool has been specified with the --tool option to merge or resolve, it 72 1. If a tool has been specified with the --tool option to merge or resolve, it
73 is used. If it is the name of a tool in the merge-tools configuration, its 73 is used. If it is the name of a tool in the merge-tools configuration, its
74 configuration is used. Otherwise the specified tool must be executable by 74 configuration is used. Otherwise the specified tool must be executable by
75 the shell. 75 the shell.
76 76
77 1. If the ``HGMERGE`` environment variable is present, its value is used and 77 2. If the ``HGMERGE`` environment variable is present, its value is used and
78 must be executable by the shell. 78 must be executable by the shell.
79 79
80 2. If the filename of the file to be merged matches any of the patterns in the 80 3. If the filename of the file to be merged matches any of the patterns in the
81 merge-patterns configuration section, the first usable merge tool 81 merge-patterns configuration section, the first usable merge tool
82 corresponding to a matching pattern is used. Here, binary capabilities of the 82 corresponding to a matching pattern is used. Here, binary capabilities of the
83 merge tool are not considered. 83 merge tool are not considered.
84 84
85 3. If ui.merge is set it will be considered next. If the value is not the name 85 4. If ui.merge is set it will be considered next. If the value is not the name
86 of a configured tool, the specified value is used and must be executable by 86 of a configured tool, the specified value is used and must be executable by
87 the shell. Otherwise the named tool is used if it is usable. 87 the shell. Otherwise the named tool is used if it is usable.
88 88
89 4. If any usable merge tools are present in the merge-tools configuration 89 5. If any usable merge tools are present in the merge-tools configuration
90 section, the one with the higest priority is used. 90 section, the one with the highest priority is used.
91 91
92 5. If a program named ``hgmerge`` can be found on the system, it is used - but 92 5. If a program named ``hgmerge`` can be found on the system, it is used - but
93 it will by default not be used for symlinks and binary files. 93 it will by default not be used for symlinks and binary files.
94 94
95 6. If the file to be merged is not binary and is not a symlink, then 95 7. If the file to be merged is not binary and is not a symlink, then
96 ``internal:merge`` is used. 96 ``internal:merge`` is used.
97 97
98 7. The merge of the file fails and must be resolved before commit. 98 8. The merge of the file fails and must be resolved before commit.
99 99
100 .. note:: 100 .. note::
101 After selecting a merge program, Mercurial will by default attempt 101 After selecting a merge program, Mercurial will by default attempt
102 to merge the files using a simple merge algorithm first. Only if it doesn't 102 to merge the files using a simple merge algorithm first. Only if it doesn't
103 succeed because of conflicting changes Mercurial will actually execute the 103 succeed because of conflicting changes Mercurial will actually execute the