~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/log.py

show tags in log --short/--line

Show diffs side-by-side

added added

removed removed

Lines of Context:
830
830
class ShortLogFormatter(LogFormatter):
831
831
 
832
832
    supports_delta = True
 
833
    supports_tags = True
833
834
    supports_single_merge_revision = True
834
835
 
835
836
    def log_revision(self, revision):
837
838
        is_merge = ''
838
839
        if len(revision.rev.parent_ids) > 1:
839
840
            is_merge = ' [merge]'
840
 
        to_file.write("%5s %s\t%s%s\n" % (revision.revno,
 
841
        tags = ''
 
842
        if revision.tags:
 
843
            tags = ' {%s}' % (', '.join(revision.tags))
 
844
 
 
845
        to_file.write("%5s %s\t%s%s%s\n" % (revision.revno,
841
846
                self.short_author(revision.rev),
842
847
                format_date(revision.rev.timestamp,
843
848
                            revision.rev.timezone or 0,
844
849
                            self.show_timezone, date_fmt="%Y-%m-%d",
845
850
                            show_offset=False),
846
 
                is_merge))
 
851
                tags, is_merge))
847
852
        if self.show_ids:
848
853
            to_file.write('      revision-id:%s\n'
849
854
                          % (revision.rev.revision_id,))
862
867
 
863
868
class LineLogFormatter(LogFormatter):
864
869
 
 
870
    supports_tags = True
865
871
    supports_single_merge_revision = True
866
872
 
867
873
    def __init__(self, *args, **kwargs):
886
892
 
887
893
    def log_revision(self, revision):
888
894
        self.to_file.write(self.log_string(revision.revno, revision.rev,
889
 
                                              self._max_chars))
 
895
            self._max_chars, revision.tags))
890
896
        self.to_file.write('\n')
891
897
 
892
 
    def log_string(self, revno, rev, max_chars):
 
898
    def log_string(self, revno, rev, max_chars, tags=None):
893
899
        """Format log info into one string. Truncate tail of string
894
900
        :param  revno:      revision number or None.
895
901
                            Revision numbers counts from 1.
896
 
        :param  rev:        revision info object
 
902
        :param  rev:        revision object
897
903
        :param  max_chars:  maximum length of resulting string
 
904
        :param  tags:       list of tags or None
898
905
        :return:            formatted truncated string
899
906
        """
900
907
        out = []
903
910
            out.append("%s:" % revno)
904
911
        out.append(self.truncate(self.short_author(rev), 20))
905
912
        out.append(self.date_string(rev))
 
913
        if tags:
 
914
            tag_str = '{%s}' % (', '.join(tags))
 
915
            out.append(tag_str)
906
916
        out.append(rev.get_summary())
907
917
        return self.truncate(" ".join(out).rstrip('\n'), max_chars)
908
918