/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

  • Committer: John Arbash Meinel
  • Date: 2007-12-05 18:47:51 UTC
  • mfrom: (3079 +trunk)
  • mto: This revision was merged to the branch mainline in revision 3080.
  • Revision ID: john@arbash-meinel.com-20071205184751-58fi7xoj8ddox6ch
[merge] bzr.dev 3079

Show diffs side-by-side

added added

removed removed

Lines of Context:
550
550
  log10 = log --short -r -10..-1
551
551
"""
552
552
 
 
553
_criss_cross = \
 
554
"""
 
555
A criss-cross in the branch history can cause the default merge technique
 
556
to emit more conflicts than would normally be expected.
 
557
 
 
558
If you encounter criss-crosses, you can use merge --weave instead, which
 
559
should provide a much better result.
 
560
 
 
561
Criss-crosses occur in a branch's history if two branches merge the same thing
 
562
and then merge one another, or if two branches merge one another at the same
 
563
time.  They can be avoided by having each branch only merge from or into a
 
564
designated central branch (a "star topology").
 
565
 
 
566
Criss-crosses cause problems because of the way merge works.  Bazaar's default
 
567
merge is a three-way merger; in order to merge OTHER into THIS, it must
 
568
find a basis for comparison, BASE.  Using BASE, it can determine whether
 
569
differences between THIS and OTHER are due to one side adding lines, or
 
570
from another side removing lines.
 
571
 
 
572
Criss-crosses mean there is no good choice for a base.  Selecting the recent
 
573
merge points could cause one side's changes to be silently discarded.
 
574
Selecting older merge points (which Bazaar does) mean that extra conflicts
 
575
are emitted.
 
576
 
 
577
The ``weave`` merge type is not affected by this problem because it uses
 
578
line-origin detection instead of a basis revision to determine the cause of
 
579
differences."""
 
580
 
553
581
 
554
582
# Register help topics
555
583
topic_registry.register("revisionspec", _help_on_revisionspec,
594
622
                        SECT_CONCEPT)
595
623
topic_registry.register('working-trees', _working_trees,
596
624
                        'Information on working trees', SECT_CONCEPT)
 
625
topic_registry.register('criss-cross', _criss_cross,
 
626
                        'Information on criss-cross merging', SECT_CONCEPT)
597
627
 
598
628
 
599
629
class HelpTopicIndex(object):