/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/commands.py

  • Committer: Martin Pool
  • Date: 2005-08-12 15:24:19 UTC
  • Revision ID: mbp@sourcefrog.net-20050812152419-8f65f048a739f44d
- add revert command to tutorial

Show diffs side-by-side

added added

removed removed

Lines of Context:
141
141
        raise BzrCommandError(msg)
142
142
    
143
143
 
 
144
def get_merge_type(typestring):
 
145
    """Attempt to find the merge class/factory associated with a string."""
 
146
    from merge import merge_types
 
147
    try:
 
148
        return merge_types[typestring][0]
 
149
    except KeyError:
 
150
        templ = '%s%%7s: %%s' % (' '*12)
 
151
        lines = [templ % (f[0], f[1][1]) for f in merge_types.iteritems()]
 
152
        type_list = '\n'.join(lines)
 
153
        msg = "No known merge type %s. Supported types are:\n%s" %\
 
154
            (typestring, type_list)
 
155
        raise BzrCommandError(msg)
 
156
    
 
157
 
144
158
 
145
159
def _get_cmd_dict(plugins_override=True):
146
160
    d = {}
837
851
    If files are listed, only the changes in those files are listed.
838
852
    Otherwise, all changes for the tree are listed.
839
853
 
840
 
    TODO: Given two revision arguments, show the difference between them.
841
 
 
842
854
    TODO: Allow diff across branches.
843
855
 
844
856
    TODO: Option to use external diff command; could be GNU diff, wdiff,
853
865
          deleted files.
854
866
 
855
867
    TODO: This probably handles non-Unix newlines poorly.
 
868
 
 
869
    examples:
 
870
        bzr diff
 
871
        bzr diff -r1
 
872
        bzr diff -r1:2
856
873
    """
857
874
    
858
875
    takes_args = ['file*']
871
888
        else:
872
889
            b = find_branch('.')
873
890
 
874
 
        # TODO: Make show_diff support taking 2 arguments
875
 
        base_rev = None
876
891
        if revision is not None:
877
 
            if len(revision) != 1:
878
 
                raise BzrCommandError('bzr diff --revision takes exactly one revision identifier')
879
 
            base_rev = revision[0]
880
 
    
881
 
        show_diff(b, base_rev, specific_files=file_list,
882
 
                  external_diff_options=diff_options)
883
 
 
 
892
            if len(revision) == 1:
 
893
                show_diff(b, revision[0], specific_files=file_list,
 
894
                          external_diff_options=diff_options)
 
895
            elif len(revision) == 2:
 
896
                show_diff(b, revision[0], specific_files=file_list,
 
897
                          external_diff_options=diff_options,
 
898
                          revision2=revision[1])
 
899
            else:
 
900
                raise BzrCommandError('bzr diff --revision takes exactly one or two revision identifiers')
 
901
        else:
 
902
            show_diff(b, None, specific_files=file_list,
 
903
                      external_diff_options=diff_options)
884
904
 
885
905
        
886
906