[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