Working with PostgreSQL source tree (was Re: Not ready for 8.3)

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Greg Smith <gsmith(at)gregsmith(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Working with PostgreSQL source tree (was Re: Not ready for 8.3)
Date: 2007-05-18 09:25:00
Message-ID: 464D70EC.1090507@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2007-05-18 09:43:30 Re: Lack of urgency in 8.3 reviewing
Previous Message Simon Riggs 2007-05-18 09:12:48 Re: pg_standby question (solved)