~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: John Arbash Meinel
  • Date: 2005-09-17 15:38:43 UTC
  • mto: (1185.1.27)
  • mto: This revision was merged to the branch mainline in revision 1390.
  • Revision ID: john@arbash-meinel.com-20050917153843-a407ed5059bfba4f
cat-revision allows --revision for easier investigation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
87
87
 
88
88
 
89
89
class cmd_cat_revision(Command):
90
 
    """Write out metadata for a revision."""
 
90
    """Write out metadata for a revision.
 
91
    
 
92
    The revision to print can either be specified by a specific
 
93
    revision identifier, or you can use --revision.
 
94
    """
91
95
 
92
96
    hidden = True
93
 
    takes_args = ['revision_id']
 
97
    takes_args = ['revision_id?']
 
98
    takes_options = ['revision']
94
99
    
95
 
    def run(self, revision_id):
 
100
    def run(self, revision_id=None, revision=None):
 
101
        from bzrlib.revisionspec import RevisionSpec
 
102
 
 
103
        if revision_id is not None and revision is not None:
 
104
            raise BzrCommandError('You can only supply one of revision_id or --revision')
 
105
        if revision_id is None and revision is None:
 
106
            raise BzrCommandError('You must supply either --revision or a revision_id')
96
107
        b = Branch.open_containing('.')
97
 
        sys.stdout.write(b.get_revision_xml_file(revision_id).read())
 
108
        if revision_id is not None:
 
109
            sys.stdout.write(b.get_revision_xml_file(revision_id).read())
 
110
        elif revision is not None:
 
111
            for rev in revision:
 
112
                if rev is None:
 
113
                    raise BzrCommandError('You cannot specify a NULL revision.')
 
114
                revno, rev_id = rev.in_history(b)
 
115
                sys.stdout.write(b.get_revision_xml_file(rev_id).read())
98
116
 
99
117
 
100
118
class cmd_revno(Command):