Package: bug-repo-syncer
Bug Repo Synceris 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-syncerhttp://sourceforge.net/apps/trac/bug-repo-syncer/report/6Bug Repo Synceris licensed under the GNU General Public License (GPL)
Version 3.DeficienciesThe program is currently incomplete. Also the approach to translate between
repositories with significantly different concepts, has inherent drawbacks.Bug Repo Syncerdoes not synchronize bug comments.Bug status values (status, priority, resolution, type) can only be roughly
translated between repositories of different type.Bug Repo Synceruses
internally a fairly simple model, that is quite similar to the way how Trac
works. WhenBug Repo Syncerchanges 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.DependenciesThe 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 runBug Repo Syncer:PythonAn installation of the Python programming language,version 2.6or
newer.diff3A command line program to merge text. Present on nearly all Linux and Unix
installations.DateutilA Python library to process dates. Usually installed on Linux by default.LaunchpadlibA library to access launchpad from Python programs.
Install it with:pip install launchpadlibInstallationOpen a shell window, get administrative permissions, and type:pip install bug-repo-syncerAlternatively download the source archive, extract it, change into the
extracted directory, get administrative permissions, and type the familiar:python setup.py installTrac PermissionsTo access a Trac repository withBug Repo Syncera user needs the permissionXML_RPC. To make changes one additionally needsTRAC_ADMINpermission. (The tool needs administrative permission, because it does not
respect Trac’s workflow, for reasons of simplicity.)TheXML_RPCpermission is switched off by default (at least on
Sourceforge), and must be enabled. In the web front end go to “Admin” ->
“Permissions”. Search forXML_RPCin the “Action” drop-down list in the
upper right of the page. Simply give everybody (“anonymous”)XML_RPCpermissions.OperationBug Repo Syncerhas the notion of aproject 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 thebsyncprogram, it uses
sub-commands like Bazaar’sbzrprogram.General OptionsThe general options precede the sub-commands. For example, synchronize and
specify the project directory explicitly:bsync --project-dir path/to/project/dir sync-h,--helpShow a help message and exit.--versionShow a version message and exit.--project-dirDIRECTORYSpecify the directory with configuration and data files.(Sub-) CommandsAll sub-commands have their own option--help, that shows a specific help
message. To get the help message for the sub-commandsyncfor example, type:bsync sync --helpinitCreate a configuration file in the current directory.bsync initThe 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.infoShow status of the project, and test the configuration file.bsync infosyncSynchronize the repositories.bsync syncThis sub-command has further options:--sinceDATE_TIMEConsider changes since this date (and time).--dry-runDon’t change the repositories, instead show what the program would do.Bug Reports, Wishes, and HackingBugs 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-syncerhttps://sourceforge.net/apps/trac/bug-repo-syncer/report/6The 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