550
551
log10 = log --short -r -10..-1
557
A criss-cross in the branch history can cause the default merge technique
558
to emit more conflicts than would normally be expected.
560
If you encounter criss-crosses, you can use merge --weave instead, which
561
should provide a much better result.
563
Criss-crosses occur in a branch's history if two branches merge the same thing
564
and then merge one another, or if two branches merge one another at the same
565
time. They can be avoided by having each branch only merge from or into a
566
designated central branch (a "star topology").
568
Criss-crosses cause problems because of the way merge works. Bazaar's default
569
merge is a three-way merger; in order to merge OTHER into THIS, it must
570
find a basis for comparison, BASE. Using BASE, it can determine whether
571
differences between THIS and OTHER are due to one side adding lines, or
572
from another side removing lines.
574
Criss-crosses mean there is no good choice for a base. Selecting the recent
575
merge points could cause one side's changes to be silently discarded.
576
Selecting older merge points (which Bazaar does) mean that extra conflicts
579
The ``weave`` merge type is not affected by this problem because it uses
580
line-origin detection instead of a basis revision to determine the cause of
554
584
# Register help topics
555
585
topic_registry.register("revisionspec", _help_on_revisionspec,
570
600
"Help on status flags")
571
601
def get_bugs_topic(topic):
572
602
from bzrlib import bugtracker
573
return "Bug Trackers\n\n" + bugtracker.tracker_registry.help_topic(topic)
574
topic_registry.register('bugs', get_bugs_topic, 'Bug tracker support')
603
return "Bug Tracker Settings\n\n" + \
604
bugtracker.tracker_registry.help_topic(topic)
605
topic_registry.register('bugs', get_bugs_topic, 'Bug tracker settings')
575
606
topic_registry.register('env-variables', _env_variables,
576
607
'Environment variable names and values')
577
608
topic_registry.register('files', _files,
595
626
topic_registry.register('working-trees', _working_trees,
596
627
'Information on working trees', SECT_CONCEPT)
628
topic_registry.register('criss-cross', _criss_cross,
629
'Information on criss-cross merging', SECT_CONCEPT)
599
632
class HelpTopicIndex(object):