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

Reply via email to