This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Program to synchronize bug repositories

Project Description

Bug Repo Syncer is a command line program to synchronize bug repositories. It currently works with Launchpad and Trac. It can in principle also be used to migrate between these repositories. The main motivation to write this program, is the lack of a Mylyn connector for Launchpad, while there exists a Mylyn connector for Trac. Additionally Launchpad has no integrated Wiki.

The program synchronizes its own bug trackers: the project’s bugs on Launchpad with a Trac site on Sourceforge.

https://bugs.launchpad.net/bug-repo-syncer

http://sourceforge.net/apps/trac/bug-repo-syncer/report/6

Bug Repo Syncer is licensed under the GNU General Public License (GPL) Version 3.

Deficiencies

The program is currently incomplete. Also the approach to translate between repositories with significantly different concepts, has inherent drawbacks.

  • Bug Repo Syncer does not synchronize bug comments.
  • Bug status values (status, priority, resolution, type) can only be roughly translated between repositories of different type. Bug Repo Syncer uses internally a fairly simple model, that is quite similar to the way how Trac works. When Bug Repo Syncer changes a bug, the status values are set in accordance with this simple model. This way information is lost, especially from Launchpad’s fairly fine grained workflow.

Dependencies

The program is developed on Linux. It uses however nothing Linux specific, and may therefore work on other Unix-like operating systems such as Mac OS X.

The following software is required to run Bug Repo Syncer:

Python
An installation of the Python programming language, version 2.6 or newer.
diff3
A command line program to merge text. Present on nearly all Linux and Unix installations.
Dateutil
A Python library to process dates. Usually installed on Linux by default.
Launchpadlib

A library to access launchpad from Python programs. Install it with:

pip install launchpadlib

Installation

Open a shell window, get administrative permissions, and type:

pip install bug-repo-syncer

Alternatively download the source archive, extract it, change into the extracted directory, get administrative permissions, and type the familiar:

python setup.py install

Trac Permissions

To access a Trac repository with Bug Repo Syncer a user needs the permission XML_RPC. To make changes one additionally needs TRAC_ADMIN permission. (The tool needs administrative permission, because it does not respect Trac’s workflow, for reasons of simplicity.)

The XML_RPC permission is switched off by default (at least on Sourceforge), and must be enabled. In the web front end go to “Admin” -> “Permissions”. Search for XML_RPC in the “Action” drop-down list in the upper right of the page. Simply give everybody (“anonymous”) XML_RPC permissions.

Operation

Bug Repo Syncer has the notion of a project directory, where configuration and data files are stored. For normal operation it is assumed that the user changes into the project directory and types the synchronization command(s).

Synchronization commands are executed with the bsync program, it uses sub-commands like Bazaar’s bzr program.

General Options

The general options precede the sub-commands. For example, synchronize and specify the project directory explicitly:

bsync --project-dir path/to/project/dir sync
-h, --help Show a help message and exit.
--version Show a version message and exit.
--project-dir DIRECTORY
 Specify the directory with configuration and data files.

(Sub-) Commands

All sub-commands have their own option --help, that shows a specific help message. To get the help message for the sub-command sync for example, type:

bsync sync --help

init

Create a configuration file in the current directory.

bsync init

The generated configuration file must be edited, so that it refers to your bug repositories. The file format is documented quite extensively in the generated file itself.

info

Show status of the project, and test the configuration file.

bsync info

sync

Synchronize the repositories.

bsync sync

This sub-command has further options:

--since DATE_TIME
 Consider changes since this date (and time).
--dry-run Don’t change the repositories, instead show what the program would do.

Bug Reports, Wishes, and Hacking

Bugs reports and wishes can be filed in Launchpad, or in the Trac site on Sourceforge. Use the repository that is convenient for you, as both repositories are synchronized.

https://launchpad.net/bug-repo-syncer

https://sourceforge.net/apps/trac/bug-repo-syncer/report/6

The program is written in the Python programming language. Development is coordinated on Launchpad, Bazaar is the version control system, the developer uses Eclipse and Vim. (Vim mainly for English text, such as this README). The Trac site lets developers see the bugs in the Mylyn component of Eclipse.

To check out the sources, type:

bzr branch lp:bug-repo-syncer
Release History

Release History

This version
History Node

0.3.0

History Node

0.2.0

History Node

0.1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
bug-repo-syncer-0.3.0.tar.gz (75.0 kB) Copy SHA256 Checksum SHA256 Source Apr 2, 2012
bug-repo-syncer-0.3.0.zip (86.1 kB) Copy SHA256 Checksum SHA256 Source Apr 2, 2012

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting