704
706
1. Conflicts in merge-like operations, or changes are present in
706
708
2. Unrepresentable diff changes (i.e. binary files that we cannot show
708
710
3. An error or exception has occurred.
710
712
Errors are handled through Python exceptions. Exceptions should be defined
711
713
inside bzrlib.errors, so that we can see the whole tree at a glance.
713
715
We broadly classify errors as either being either internal or not,
715
717
fault, we show a backtrace, an invitation to report the bug, and possibly
716
718
other details. This is the default for errors that aren't specifically
717
719
recognized as being caused by a user error. Otherwise we show a briefer