[tahoe-lafs-trac-stream] [tahoe-lafs] #1964: convert trac repos from darcs to git

tahoe-lafs trac at tahoe-lafs.org
Sun May 5 23:59:02 UTC 2013


#1964: convert trac repos from darcs to git
--------------------------------+------------------------------------
 Reporter:  warner              |          Owner:  warner
     Type:  task                |         Status:  new
 Priority:  normal              |      Milestone:  soon (release n/a)
Component:  dev-infrastructure  |        Version:  n/a
 Keywords:                      |  Launchpad Bug:
--------------------------------+------------------------------------
 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.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1964>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list