[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