wiki:TracTicketChangelogPlugin

Show ticket relative changelogs

Description

This plugin adds a changelog list in a Trac ticket.

Compose your log message with a ticket reference pattern. The default pattern in versions 0.12 and 1.0 of the plugin is to add #ticketid before the log messages:

#ticketid any messages

In version 1.2 of the plugin the CommitTicketUpdater options are used to configure the pattern. With the default option values, patterns such like refs #1 and fixes #2 will be matched.

Tested with Subversion, Mercurial and Git.

Mercurial

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

Git

For the Git backend, you should add following config to the [git] section of your trac.ini file:

[git]
cached_repository = true
persistent_cache = true

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

Bugs/Feature Requests

Existing bugs and feature requests for TracTicketChangelogPlugin are here.

If you have any issues, create a new ticket.

defect

22 / 22

enhancement

6 / 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 have Babel installed and would like to have translations available:
      python setup.py compile_catalog -f
      
  3. If you want to install this plugin globally, you need to 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]+.*$  # version 0.12 and 1.0
    ; optional: set log message's max length, default is no limit
    log_message_maxlength = 100
    
  6. (Version 1.2) Sync the ticket-revision table:
    $ trac-admin $env ticketlog sync
    
    You must configure repository caching and explicit synchronization, and resync all of the repositories before running ticketlog sync.

Configuration

In version 0.12 and 1.0 of the plugin you can configure log_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

In version 1.2 of the plugin, the pattern is configured using the CommitTicketUpdater options.

Recent Changes

16780 by rjollos on 2017-08-27 06:19:54
TracTicketChangelog 1.2.0dev: Make compatible with Trac 1.3.2+ with Jinja
16551 by rjollos on 2017-04-17 21:50:10
1.2.0dev: Replace use of deprecated Context
16472 by rjollos on 2017-04-04 23:29:06
TracTicketChangelog 1.2.0dev: Fix incorrect link generation in r16471
(more)

Author/Contributors

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

Last modified 6 months ago Last modified on Apr 4, 2017, 9:48:38 PM

Attachments (1)

Download all attachments as: .zip