So, we[1] have decided to move Tahoe development to Git! We're using the git repo that I've been maintaining through a creaky manually-driven bidirectional darcs/git bridge. I've been running it for a couple years now, so it seems stable enough to last a bit longer. We'll be publishing this through our new Organization account on github:
https://github.com/tahoe-lafs/tahoe-lafs (if you've forked a repo from warner/tahoe-lafs, feel free to keep using that, but the tahoe-lafs Organization will be the primary repo from now on). In the long run, we'd prefer to have the canonical repo live on tahoe-lafs.org (in particular have buildslaves pull from there), and just use GitHub as a publishing mirror and collaboration tool, but we'll have to see how things go. In particular, we'd like to stick with Trac for bug-reporting and single patches, at least to start with, since it's got more project-management features (and lets us retain more control over the data) than GitHub's issue-tracker. Suggestions welcome! == Bridge Restrictions == We'll be running with both darcs and git in parallel for a while, so for the moment, there are a couple of restrictions on what we can commit: * The bridge only handles linear histories. I'll enforce this by rewriting and rebasing any changes that enter from the Git side before landing them on master. Patches coming from the Darcs side are applied in single-file anyways, so no new restrictions there. * I run the bridge manually (it's not safe enough to be run unsupervised), so there will be a human delay between the time something lands on the darcs side and the time it appears on the git side. I usually get to it within a day, but feel free to ping me on IRC when you push a commit to darcs. * Nobody else should commit to the official git repo right now. When we stop using darcs (and the bridge), we can fix the permissions so that all Tahoe committers will have write access. Send pull requests and I'll merge them appropriately. * Release branches will have to be managed specially. 1.8.3 does not yet exist in the git repo (I'll need to build it manually). If we do a near-term 1.9.1 release, we'll probably do it from trunk. I landed changes the other week to make _version.py work from git: it probably isn't enough to let 'python sdist' or 'bdist_egg' work yet, but basic operations should succeed. It'll need a little more testing before we can safely cut a release from the git side. Likewise, there might be some test failures surrounding the self-determination of __version__. == Trac == Getting Trac to pay attention to the Git tree is going to take a bit longer. We've got it recognizing a new "git" repo on the "Browse Source" page[2], but for some reason it's refusing to acknowledge any changes from the last 7 weeks. There's a github post-commit webhook in place that ought to update the .org-side tree, and trigger Trac into looking for new changes, but something's still broken. The general plan is to get this part working, then stop updating the Darcs tree, then build a tool that modifies the Trac database to update all the little [1234] revision-id comments to git SHA1 revids, then remove the darcs repos from Trac's awareness. (we'll keep the #999 branch until that code lands, for sure). There are notes and a checklist in #1644. == Buildbot == We have a new buildmaster[3], which is feeding off the github post-commit hook, and instructs buildslaves to update from github. We'll be moving all the existing slaves to this buildmaster soon, and then we'll find out which ones need to have Git installed (or their buildbot code updated). We'll also update to a newer buildbot version (0.8.5) at the same time, and start using "categories" to organize the waterfall views a bit more easily. Let me know how it looks and what y'all think. If you see any problems, grab me on IRC, or add a note to bug #1644. cheers, -Brian [1]: and by "we", I mean I want Git, a bunch of other people have expressed various levels of support for the idea of moving to Git, and Zooko finally said "let's move to git as soon as possible", so I'm acting quick, before anyone changes their mind [2]: https://tahoe-lafs.org/trac/tahoe-lafs/browser [3]: temporarily at https://tahoe-lafs.org/buildbot-tahoe-lafs-git/ [#1644]: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1644 _______________________________________________ tahoe-dev mailing list [email protected] http://tahoe-lafs.org/cgi-bin/mailman/listinfo/tahoe-dev
