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
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend