On 13 Mar 2007, at 15:57, Pete Harlan wrote:
>> Also, the free BitKeeper client isn't particularly useful. It's fine
>> for pulling the latest sources, but it doesn't look like you can use
>> it to, e.g., show uncommited changes you have made to your working
>> tree. If I am going to develop more than just a tiny patch, I'll want
>> to use real version control. [...]
Chad MILLER wrote:
> For the moment, may I suggest importing a snapshot of the code into your
> favorite and working from that? "mercurial" and "bazaar-ng" are
> popular, I hear.
I've been using Bazaar a bit on MySQL source code, and it seems to work
well. I especially like that you can import a tar.gz source release
directly into a bazaar branch, without having to unpack it first, and
that you can push branches up on launchpad.net to share your work.
Disclaimer: I work on launchpad.net, not for MySQL so my opinion is
biased and does not represent MySQL AB.
To import a mysql source tar.gz into a Bazaar branch:
bzr init
bzr import ../mysql-5.0.37.tar.gz
bzr commit -m"Imported source for MySQL 5.0.37 release"
hack hack hack
bzr diff, commit, etc.
To push a bazaar branch up onto launchpad so others can see it:
Assuming you have created an account on Launchpad.net and added your SSH
key for authentication:
bzr push --create-prefix
sftp://bazaar.launchpad.net/~username/mysql/branchname
After pushing, the branch data will be published at this URL:
http://bazaar.launchpad.net/~username/mysql/branchname
If, after hacking on a feature for a while, a new MySQL release comes
out and you need to update/merge the new release with your feature
branch, you can run bzr import again to suck in the new tarball, and it
will Do The Right Thing. You can then handle any merging needed, ensure
tests are passing, etc. and then commit.
I'm sure Mercurial also works very well for this, but I haven't got
recent experience with it so I'll let others post any suggestions on the
best way to use it.
cheers,
-elliot