33.3.3 State of a Difference
In the merge buffer, a difference is marked with lines of ‘v’ and
‘^’ characters. Each difference has one of these seven states:
- The difference is showing the A version. The a command always
produces this state; the mode line indicates it with ‘A’.
- The difference is showing the B version. The b command always
produces this state; the mode line indicates it with ‘B’.
- The difference is showing the A or the B state by default, because you
haven't made a choice. All differences start in the default-A state
(and thus the merge buffer is a copy of the A buffer), except those for
which one alternative is “preferred” (see below).
When you select a difference, its state changes from default-A or
default-B to plain A or B. Thus, the selected difference never has
state default-A or default-B, and these states are never displayed in
the mode line.
The command d a chooses default-A as the default state, and d
b chooses default-B. This chosen default applies to all differences
which you haven't ever selected and for which no alternative is preferred.
If you are moving through the merge sequentially, the differences you
haven't selected are those following the selected one. Thus, while
moving sequentially, you can effectively make the A version the default
for some sections of the merge buffer and the B version the default for
others by using d a and d b between sections.
- The difference is showing the A or B state because it is
preferred. This means that you haven't made an explicit choice,
but one alternative seems likely to be right because the other
alternative agrees with the common ancestor. Thus, where the A buffer
agrees with the common ancestor, the B version is preferred, because
chances are it is the one that was actually changed.
These two states are displayed in the mode line as ‘A*’ and ‘B*’.
- The difference is showing a combination of the A and B states, as a
result of the x c or x C commands.
Once a difference is in this state, the a and b commands
don't do anything to it unless you give them a numeric argument.
The mode line displays this state as ‘comb’.