Greg Smith wrote:
> On Thu, 17 May 2007, David Fetter wrote:
>
>> Would you be interested in providing this meat? You're uniquely
>> qualified because your shins still smart from all the things you
>> barked them on :)
>
> Unfortunately I'm temporarily on the other side of this problem; all the
> time I have to spare right now is going to into reviewing other people's
> patches.
>
> Even more unfortunately, I'm not 100% happy with what I'm doing, and
> certainly wouldn't want to present the shoddy techniques I'm using as
> recommended. If anyone else has useful info on this subject (keeping a
> local repository in sync with HEAD via rsync while working on branches)
> they'd like to pass along, please drop me a message with whatever level
> of documentation you might have--even rough notes would be a help. Once
> I'm finished with the reviews I'm trying to contribute, I will sort
> through any suggestions I get and turn that into formal documentation.
> This has left enough shin damage that I'd enjoy completely slaying the
> cause.
Let me describe my method. It's not ideal by any means, but I've been
satisfied:
First of all, having a local CVS repository is a must. I used to use
cvsup until a couple of months ago, but it suddenly stopped working, so
I switched to rsync and I haven't looked back. I have a one line shell
script to update it:
rsync --progress -avzCH --delete anoncvs.postgresql.org::pgsql-cvs
/home/hlinnaka/pgcvsrepository
When I start working on a subject, I make a new checkout from the local
repository to a designated directory under "pg_sandbox"-directory. For
example, when I started working on the mvcc-safe cluster patch:
~/pg_sandbox$ cvs -d /home/hlinnaka/pgcvsrepository cvs co pgsql
~/pg_sandbox$ mv pgsql pgsql.cluster
~/pg_sandbox$ cd pgsql.cluster
~/pg_sandbox/pgsql.cluster$ cvs update -dP # Remove empty dirs.
There's a checkout-flag for that as well, but I never remember it...
~/pg_sandbox/pgsql.cluster$ ./configure --enable-depend --enable-cassert
--enable-debug --prefix=/home/hlinnaka/pgsql.cluster
For primitive version control, I make a diff after any significant changes:
~/pg_sandbox/pgsql.cluster$ cvs diff -cN > cluster-mvcc-1.patch
The last number is a revision number, increment by one after each diff.
That's it!
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com