On Tue, 2007-03-13 at 14:57 -0500, 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.
>
> As commercial BitKeeper is out for me (I have thoughts about hacking
> "git" or Subversion from time to time, so unless Larry has changed
> what used to be worst-in-class licensing terms, I'm not allowed to use
> BK), do you have any standard recommendations for people? I can
> manage my own local mirror of the MySQL sources easily enough, but
> perhaps there's some other option community developers use.
I'd suggest using a tool such as quilt.
I'm using it in conjunction with real BK while hacking on the MySQL
source and find it immensely useful.
if i were to be adding a patch to foo.c, then sending to internals for
review.. this is what i'd do:
cd tree/;
bk pull
quilt new foo_change.patch # creates a patches/foo_change.patch file
quilt add foo.c # adds the file to the patch... or rather, stores a copy
of how it is now so that quilt can diff it later
emacs foo.c
quilt refresh
quilt diff # to check the patch is what i want
vi patches/foo_change.patch # to add in comments to the patch
quilt mail --send --from stewart@stripped --to internals@stripped
I'd keep doing this for more patches too (apart from mail) until i'm
happy. the mail command sends out all the patches as a single email
thread. very useful for incremental review.
quilt series
lists the patches you have applied.
you can quilt new multiple patches and they get added to the series.
you can push and pop patches to edit previous ones.
really, quilt rocks.
--
Stewart Smith, Software Engineer
MySQL AB, www.mysql.com
Office: +14082136540 Ext: 6616
VoIP: 6616@stripped
Mobile: +61 4 3 8844 332
Jumpstart your cluster:
http://www.mysql.com/consulting/packaged/cluster.html
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc
Attachment: [application/pgp-signature] This is a digitally signed message part signature.asc