/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/help_topics.py

merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
272
272
-Dhpss         Trace smart protocol requests and responses.
273
273
-Dindex        Trace major index operations.
274
274
-Dlock         Trace when lockdir locks are taken or released.
 
275
-Dmerge        Emit information for debugging merges.
275
276
"""
276
277
 
277
278
_standard_options = \
550
551
  log10 = log --short -r -10..-1
551
552
"""
552
553
 
 
554
_criss_cross = \
 
555
"""Criss-Cross
 
556
 
 
557
A criss-cross in the branch history can cause the default merge technique
 
558
to emit more conflicts than would normally be expected.
 
559
 
 
560
If you encounter criss-crosses, you can use merge --weave instead, which
 
561
should provide a much better result.
 
562
 
 
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").
 
567
 
 
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.
 
573
 
 
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
 
577
are emitted.
 
578
 
 
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
 
581
differences."""
 
582
 
553
583
 
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,
594
625
                        SECT_CONCEPT)
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)
597
630
 
598
631
 
599
632
class HelpTopicIndex(object):