wiki:TracTicketChangelogPlugin

Show ticket relative changelogs

Description

This plugin adds a changelog list in a Trac ticket. You do not need to switch from your coding environment to your browser and your comment ticket anymore to see this changeset.

Just compose your log message following the pattern. The default pattern is add #ticketid before the log messages.

#ticketid any messages

This is done by scanning commit logs for the ticket number which match a configurable regular expression.

Tested with Subversion, Mercurial and Git.

Mercurial

For mercurial backend, since TracMecurial does not support repository cache yet, you should install TracMercurialChangesetPlugin to generate the repository cache.

Git

For git backend, according to #7746, you should add following config to git section in the trac.ini file:

[git]
cached_repository = true
persistent_cache = true

You might need to run trac-admin repository resync after the change.

Example

For example, when you commit for ticket #10, the commit log like:

#10 fixed blog

And you got a revision [1234]. After that, when open ticket #10, you can see a change log list:

Bugs/Feature Requests

Existing bugs and feature requests for TracTicketChangelogPlugin are here.

If you have any issues, create a new ticket.

defect

20 / 20

enhancement

4 / 6

Download

Download the zipped source from here.

Source

You can check out TracTicketChangelogPlugin from here using Subversion, or browse the source with Trac.

Installation

You can install this plugin following the standard procedures described in TracPlugins.

  1. Uninstall TracTicketChangelogPlugin if you have installed it before.
  2. Change to the directory containning setup.py.
    • (Optional): If you are using Trac 0.12 with i18n, you should compile language files here:
      python setup.py compile_catalog -f
      
  3. If you want to install this plugin globally, that will install this plugin to the Python path:
    • python setup.py install
  4. If you want to install this plugin to the Trac instance only:
    • python setup.py bdist_egg
    • copy the generated egg file to the trac instance's plugin directory
      cp dist/*.egg /srv/trac/env/plugins
      
  5. Add the following to the trac.ini file in the components section:
    [components]
    ticketlog.* = enabled
    
    [ticketlog]
    ; optional: custom your log message pattern
    log_pattern = \s*#%s[:\s]+.*
    ; optional: set log message's max length, default is no limit
    log_message_maxlength = 100
    

Usage

  • Make sure you add TICKETLOG_VIEW permission to users.
  • You can configure the log_pattern to define your pattern.
    • %s in the pattern will be replaced with the referenced ticket number (e.g. 12345), so \s*#%s+\s+.* will be evaluated as \s*#12345+\s+.*.
    • (?:\n|[^#])*#%s(?:\D|$) matches ticket references in the form #xyz anywhere in the commit message.
      See comment:5:ticket:7884

Recent Changes

15466 by rjollos on 2016-04-14 01:43:45
Remove tag_svn_revision attribute

The attribute isn't supported in setuptools >= 10.

14529 by rjollos on 2015-04-13 13:56:48
1.0dev: Format message to paragraph. Fixes #12143.

Previously the message was formatted to a oneliner.

14528 by rjollos on 2015-04-13 13:04:38
0.2dev: Use async request. Fixes #12265.

Untested patch by Cinc.

(more)

Author/Contributors

Author: richard
Maintainer: Ryan J Ollos
Contributors: hasienda, jun66j5

Last modified 6 months ago Last modified on Jan 7, 2016, 11:48:43 PM

Attachments (1)

Download all attachments as: .zip