[Yt-dev] Mercurial Repository

Matthew Turk matthewturk at gmail.com
Fri Feb 13 00:06:13 PST 2009


Hi everyone,

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:

http://www.selenic.com/mercurial/wiki/index.cgi/WorkingWithSubversion#head-529dc856f877dd4a6daf8652c8d6576263e5a6e3

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.

http://bitbucket.org/help/collaborating/

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.

http://bitbucket.org/MatthewTurk/yt/overview/

-Matt



More information about the yt-dev mailing list