[tahoe-lafs-trac-stream] [Tahoe-LAFS] #1644: move to git

Tahoe-LAFS trac at tahoe-lafs.org
Tue Jul 8 17:15:09 UTC 2014


#1644: move to git
------------------------------------+-------------------------------------
     Reporter:  warner              |      Owner:  warner
         Type:  task                |     Status:  new
     Priority:  major               |  Milestone:  soon (release n/a)
    Component:  dev-infrastructure  |    Version:  n/a
   Resolution:                      |   Keywords:  git darcs trac buildbot
Launchpad Bug:                      |
------------------------------------+-------------------------------------
Changes (by zooko):

 * owner:  somebody => warner


Old description:

> We've decided to move to git. As #1226 points out, keeping Tahoe in
> darcs is an unfortunate barrier to entry. This ticket tracks the
> process.
>
> We'll use the repo that I've been maintaining through a creaky
> manually-run bidirectional darcs-to-git bridge, and publish on github. I
> started publishing it under my personal account (and thus it has a few
> dozen forks), but I created a new "Organization" account and we should
> publicize that one as the official repo (on github, at least):
>
>  https://github.com/tahoe-lafs/tahoe-lafs
>
> The bridge only handles linear history, so until we drop darcs
> completely, I'll be rebasing and linearizing everything that touches
> master. The official repo will only contain a "master" branch, for now:
> later we'll figure out a release process, and add the 1.8.3 branch back
> in (which is currently unrepresented in git).
>
> Steps:
>
> * ~~Set up "tahoe-lafs" Github "Organization" account~~
> * ~~Set up post-commit webhook to update
>   {{{tahoe-lafs.org:/home/source/git/tahoe-lafs.git}}} upon changes~~
> * ~~Add "git" repo/branch to Trac~~
>  * ~~this is currently stuck at some old revision: I'm not sure why,
> maybe
>    some bug in the trac-git plugin~~
>  * turns out the {{{/home/source/webhook}}} daemon needed {{{--umask
> 002}}}, otherwise when it did a 'git fetch', the new object files were
> unreadable by the trac daemon
> * ~~Set up git-based buildmaster~~
> * ~~Migrate all slaves to the git-based buildmaster~~
>  * ~~create entries for all slaves~~
>  * port all Builders (add buildbot "categories" to mark Builders as
> "supported", "performance", "packaging", etc, to simplify web display)
>  * port the index.html page
>  * ~~shut down old buildmaster, change slaveport of new buildmaster to
> match the old one: boom, all slaves now connect to the new buildmaster~~
>  * ~~get Git installed on all buildslaves that lack it~~
> * ~~update the following wiki pages to instruct people to use git instead
> of darcs: wiki:NewbieDeveloperSetup, wiki:Dev, wiki:AdvancedInstall
> (potentially better to remove any instructions on that page about
> revision control rather than to update the instructions from darcs to
> git)~~
> * ~~Stop updating darcs repo, freeze it~~
> * Build tool to modify Trac DB {{{[DARCS-REVID]}}} comments to git-based
>   {{{[REVID/git]}}}
> * Run revid-mapping tool
> * Switch Trac "default branch" to git
> * Replace DB comments with {{{[REVID/git]}}} to just {{{[REVID]}}}
> * Remove darcs branch from Trac

New description:

 We've decided to move to git. As #1226 points out, keeping Tahoe in
 darcs is an unfortunate barrier to entry. This ticket tracks the
 process.

 We'll use the repo that I've been maintaining through a creaky
 manually-run bidirectional darcs-to-git bridge, and publish on github. I
 started publishing it under my personal account (and thus it has a few
 dozen forks), but I created a new "Organization" account and we should
 publicize that one as the official repo (on github, at least):

  https://github.com/tahoe-lafs/tahoe-lafs

 The bridge only handles linear history, so until we drop darcs
 completely, I'll be rebasing and linearizing everything that touches
 master. The official repo will only contain a "master" branch, for now:
 later we'll figure out a release process, and add the 1.8.3 branch back
 in (which is currently unrepresented in git).

 Steps:

 * ~~Set up "tahoe-lafs" Github "Organization" account~~
 * ~~Set up post-commit webhook to update
   {{{tahoe-lafs.org:/home/source/git/tahoe-lafs.git}}} upon changes~~
 * ~~Add "git" repo/branch to Trac~~
  * ~~this is currently stuck at some old revision: I'm not sure why, maybe
    some bug in the trac-git plugin~~
  * turns out the {{{/home/source/webhook}}} daemon needed {{{--umask
 002}}}, otherwise when it did a 'git fetch', the new object files were
 unreadable by the trac daemon
 * ~~Set up git-based buildmaster~~
 * ~~Migrate all slaves to the git-based buildmaster~~
  * ~~create entries for all slaves~~
  * port all Builders (add buildbot "categories" to mark Builders as
 "supported", "performance", "packaging", etc, to simplify web display)
  * port the index.html page
  * ~~shut down old buildmaster, change slaveport of new buildmaster to
 match the old one: boom, all slaves now connect to the new buildmaster~~
  * ~~get Git installed on all buildslaves that lack it~~
 * ~~update the following wiki pages to instruct people to use git instead
 of darcs: wiki:NewbieDeveloperSetup, wiki:Dev, wiki:AdvancedInstall
 (potentially better to remove any instructions on that page about revision
 control rather than to update the instructions from darcs to git)~~
 * ~~Stop updating darcs repo, freeze it~~
 * Build tool to modify Trac DB {{{[DARCS-REVID]}}} comments to git-based
   {{{[REVID/git]}}}
 * Run revid-mapping tool
 * Switch Trac "default branch" to git
 * Replace DB comments with {{{[REVID/git]}}} to just {{{[REVID]}}}
 * Remove darcs branch from Trac

--

Comment:

 Brian: can we mark off any more of the steps from the original description
 as "done" yet? Or should we instead mark them as "won't do"?

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1644#comment:13>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


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