Part of bzrlib
| Class | AtTemplate | Templating class that uses @ instead of $. | 
| Function | internal_diff | Undocumented | 
| Function | external_diff | Display a diff by calling out to the external diff program. | 
| Function | get_trees_and_branches_to_diff_locked | Get the trees and specific files to diff given a list of paths. | 
| Function | show_diff_trees | Show in text form the changes from one tree to another. | 
| Function | get_executable_change | Undocumented | 
| Class | DiffPath | Base type for command object that compare files | 
| Class | DiffKindChange | Special differ for file kind changes. | 
| Class | DiffDirectory | No class docstring; 1/1 methods documented | 
| Class | DiffSymlink | No class docstring; 1/2 methods documented | 
| Class | DiffText | No class docstring; 2/3 methods documented | 
| Class | DiffFromTool | No class docstring; 0/2 class methods, 3/11 methods, 1/1 static methods documented | 
| Class | DiffTree | Provides textual representations of the difference between two trees. | 
| Class | _PrematchedMatcher | Allow SequenceMatcher operations to use predetermined blocks | 
| Function | _spawn_external_diff | Spawn the externall diff process, and return the child handle. | 
| Function | _get_tree_to_diff | Undocumented | 
| Function | _patch_header_date | Returns a timestamp suitable for use in a patch header. | 
| Parameters | diffcmd | The command list to spawn | 
| capture_errors | Capture stderr as well as setting LANG=C and LC_ALL=C. This lets us read and understand the output of diff, and respond to any errors. | |
| Returns | A Popen object. | |
This method works out the trees to be diff'ed and the files of interest within those trees.
| Parameters | path_list | the list of arguments passed to the diff command | 
| revision_specs | Zero, one or two RevisionSpecs from the diff command line, saying what revisions to compare. | |
| old_url | The url of the old branch or tree. If None, the tree to use is taken from the first path, if any, or the current working tree. | |
| new_url | The url of the new branch or tree. If None, the tree to use is taken from the first path, if any, or the current working tree. | |
| add_cleanup | a callable like Command.add_cleanup. get_trees_and_branches_to_diff will register cleanups that must be run to unlock the trees, etc. | |
| apply_view | if True and a view is set, apply the view or check that the paths are within it | |
| Returns | a tuple of (old_tree, new_tree, old_branch, new_branch, specific_files, extra_trees) where extra_trees is a sequence of additional trees to search in for file-ids. The trees and branches will be read-locked until the cleanups registered via the add_cleanup param are run. | |
| Parameters | to_file | The output stream. | 
| specific_files | Include only changes to these files - None for all changes. | |
| external_diff_options | If set, use an external GNU diff and pass these options. | |
| extra_trees | If set, more Trees to use for looking up file ids | |
| path_encoding | If set, the path will be encoded as specified, otherwise is supposed to be utf8 | |
| format_cls | Formatter class (DiffTree subclass) |