Comment 2 for bug 677344

Revision history for this message
Brook Stevens (brook) wrote :

Yes I see what you mean. Here is an attempt at that. The branch_nick was removed as it will now render as part of the revision properties.

I couldn't test the XMLLineLogFormatter section but if you tell me I can make sure it is working; I tried setting up a pending merge scenario which is where I think it is called but perhaps I didn't get it right.

=== modified file 'logxml.py'
--- logxml.py 2010-12-15 18:27:12 +0000
+++ logxml.py 2010-12-31 04:05:49 +0000
@@ -150,15 +150,15 @@
                 self.to_file.write('<parent>%s</parent>' % parent_id)
             if len(revision.rev.parent_ids) > 0:
                 self.to_file.write('</parents>')
-
+
         self.to_file.write('<committer>%s</committer>' % \
                         _escape_cdata(revision.rev.committer))

- try:
- self.to_file.write('<branch-nick>%s</branch-nick>' % \
- _escape_cdata(revision.rev.properties['branch-nick']))
- except KeyError:
- pass
+ #Write out any arbitrary revision properties
+ for revPropName in revision.rev.properties:
+ revPropVal = _escape_cdata(revision.rev.properties.get(revPropName, None))
+ self.to_file.write("<%s>%s<%s>" % (revPropName, revPropVal, revPropName))
+
         date_str = osutils.format_date(revision.rev.timestamp,
                                revision.rev.timezone or 0,
                                self.show_timezone)
@@ -227,6 +227,12 @@
             out.append("<revno>%s</revno>" % revno)
         elif rev.revision_id:
             out.append("<revisionid>%s</revisionid>" % rev.revision_id)
+
+ #Write out any arbitrary revision properties
+ for revPropName in rev.properties:
+ revPropVal = _escape_cdata(rev.properties.get(revPropName, None))
+ out.append("<%s>%s<%s>" % (revPropName, revPropVal, revPropName))
+
         out.append('<committer>%s</committer>' %
                    _escape_cdata(rev.committer))
         date_str = osutils.format_date(rev.timestamp,