#1964 closed task (fixed)

convert trac repos from darcs to git

Reported by: warner Owned by: warner
Priority: normal Milestone: soon (release n/a)
Component: dev-infrastructure Version: n/a
Keywords: Cc:
Launchpad Bug:

Description (last modified by zooko)

This Trac instance was first created for the tahoe darcs repository, and originally contained TracLink -style changeset references (in square brackets) with a small integer revision number and sometimes a /trunk or /cloud-backend -style branch identifier. Each branch had its own numberspace for revisions, although there was a lot of overlap.

When we switched to using Git, we added a new /git branch, for which the changeset links used a hex revhash identifier, like [2b6975d3a48e2328c6f63cdcc51b0b79c82d5223/git] or [2b6975d3/git].

Today (05-May-2013), I ran some scripts to modify the database (by dumping, editing, then re-executing SQL files). I replaced the old darcs-based links for the (default) trunk branch with their corresponding git equivalents. I also changed the names of the branches, so now "trunk" refers to the git repo. The darcs branches are gone, and the darcs trac plugin has been disabled. We hope this will fix the performance problems we've experienced as web spiders trigger expensive darcs operations.

I've attached a mappings tarball to this ticket. For each of the old darcs branches, it contains the integer revnum (expressed as a changeset link, like 1234/branch), the darcs hash which that revnum referenced, and (if known) the corresponding git revhash. We have git revhashes for all revisions which were present on trunk. Look carefully before trusting the relationship between git and darcs revisions on non-trunk branches: the difference between darcs's patch-based and git's revision-based models makes this rather tricky.

My scripts also updated many URLs that point at changesets or files at specific revisions, but I know it missed a lot, and many URLs are still invalid because they point to the old allmydata.org name for this site. There are a surprising number of ways to use revision IDs, and my scripts probably did not catch them all.

If you encounter wiki links or URLs that are broken because of these changes, please mention them in comments on this ticket (and re-open it if necessary, assigned to 'warner'), and I'll try to figure out how to update them.

Note that references to darcs branches (like cloud-backend and ticket999-S3-backend) will not be resolveable unless/until we create git equivalents to those branches too.

Attachments (1)

mappings.tar.bz2 (1.4 MB) - added by warner at 2013-05-06T00:00:05Z.
trac-revnum to darcshash mappings (with git revhash where known)

Download all attachments as: .zip

Change History (3)

Changed at 2013-05-06T00:00:05Z by warner

trac-revnum to darcshash mappings (with git revhash where known)

comment:1 Changed at 2013-05-22T23:33:23Z by zooko

  • Description modified (diff)

I found an unconverted darcs link. It is in #1077 . It has this wiki markup:

There is code in [source:src/allmydata/util/time_format.py@4005#L11 time_format.py] that will 

which results in this link:


comment:2 Changed at 2015-03-20T20:04:38Z by warner

  • Resolution set to fixed
  • Status changed from new to closed

Looks like that #1077 link is fixed.

I'll close this ticket. Please reopen it (or open a new one) if you run into other broken links.

Note: See TracTickets for help on using tickets.