Skip to content
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
maniphest-config
src
test
.gitignore
LICENSE
README.md
Setup.hs
stack.yaml
trac-to-phabricator.cabal

README.md

trac-to-phabricator

To do
  • Extract Trac Postrgres connection details to configuration
  • Extract Phabricator MySQL connection details to configuration
  • Extract GHC project PHID to configuration
  • Extract Phabricator API details to configuration
  • Copy comment history across to Phabricator
  • Update the comment transaction
  • Worry about why sorting by creation date doesn't work properly
  • Implement tags == projects and see what that looks like
  • Modify the parser to convert trac links to phab links
  • Fix inefficient comment/ticket pairing
  • Implement other events (cc, assignment, etc)
  • Copy custom field data across to Phabricator
  • Copy attachments across to Phabricator
  • Alert when target user does not exist
  • Merge together the closely related "resolution" and "status"
  • Add all edge information in by mastertickets table
  • Also link with differentials. I haven't been able to inspect the tables to see what the right format is to inject it into the DB.
  • Decide whether to have a special closed status as default
  • Early tickets are closed without a resolution
  • Skip over the "nobody" user
  • Dates are wrong on the projects board (Think this is to do with caching)
  • The subscribers field gets updated when people @ usernames in comments but then unset if the subscribers is modified later.
  • Turn off email sending for the transition with "setDisableEmail" by modifying the used API end points.

Parser

  • Ticket 365 block quotes and links in comment 7
  • Ticket 9226 wikilinks
Usage

Currently all configuration is hard coded, so you'll need to change those parts - see the to do list for the list of things that would need to be changed.

The custom field and status definitions for Maniphest must be uploaded to Phabricator before importing. To do this, copy the contents of each file in maniphest-config/ to the configuration of the same name in the Phabricator settings.

You also need my branch of phabricator and to install the custom API method.

Migrating Users

There are some users who have trac accounts who do not have phabricator accounts. It is possible to create accounts for these users using the accountadmin utility with empty passwords so that if one of these users wishes to modify their tickets after the migration they can recover their account using the registered email address and act as normal.

You can’t perform that action at this time.