Mercurial > hg
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 |