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

tahoe-lafs trac at tahoe-lafs.org
Wed May 22 23:33:24 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
   Resolution:                      |   Keywords:
Launchpad Bug:                      |
------------------------------------+--------------------------------

Old description:

> 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.

New description:

 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.

--

Comment (by zooko):

 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 at 4005#L11
 time_format.py] that will
 }}}

 which results in this link:

 https://tahoe-lafs.org/trac/tahoe-
 lafs/browser/src/allmydata/util/time_format.py?rev=4005#L11

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


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