Currently, I have yt checkouts on several different machines, and in these I have been having some issues with keeping things in sync. For a while I was using bzr with an svn plugin to manage this; but in the last couple days I've been having problems with this. Additionally, it has been unreliable lately.
However, mercurial is substantially more reliable -- and furthermore, the existing (and easy_install-able) hgsvn is much less fancy in what it seeks to do. I have created a mercurial mirror on bitbucket.org. I'll be using this as my primary dumping point for experimental and possibly non-functional stuff. To merge changes back upstream, I will be using the workflow outlined here:
Basically you check out using the special hgsvn command, and then branch all you like, etc etc, and then update and then merge into a *separate* subversion repository using a patch command. This is ideal, I think, as it requires no additional metadata.
However, the reason I'm bringing this up is that I'll be doing all of this on bitbucket.org, which is designed to foster and encourage social software development. It includes things like wikis in the checkout, issue tracking, and *extremely* simple forking and patching between users. It's designed for collaborations, as well as passing patches back and forth.
This will NOT replace the wiki, source control, or issue tracking on yt.enzotools.org. Mercurial is FAR too niche and FAR too rapidly developed for that. (Although I would like to note that one of the coolest things about bitbucket is that you can get a tarball in the flavor of your choice right on the main project page.) But for experimental stuff, for feature hacking, for all of that, mercurial and bitbucket are useful tools.
The things I hope to address here, in the BitBucket repo, would be things like:
* int math covering grid (almost done!) * better vertex-centering of data (trickier) * GUI re-working
and so on and so forth.
Anyway, if this sort of thing appeals to you -- repositories of your changes that you can pass around more easily, scripts and whatnot -- I encourage you to go to BitBucket, sign up with an OpenID account (I used my GMail account) and then "fork" yt. (There's a button for that.) If you make changes you think I should have -- and vice versa! -- clicking on the "pull request" button helps communicate them back and forth. I think this will lead to more experimentation and possibly a better end product.